linux/drivers/media
Stefan Richter 3fb80ef3bc V4L/DVB: firedtv: do not DMA-map stack addresses
This is a portability fix and reduces stack usage.

The DMA mapping API cannot map on-stack addresses, as explained in
Documentation/DMA-mapping.txt.  Convert the two cases of on-stack packet
payload buffers in firedtv (payload of write requests in avc_write and
of lock requests in cmp_lock) to slab-allocated memory.

We use the 512 bytes sized FCP frame buffer in struct firedtv for this
purpose.  Previously it held only incoming FCP responses, now it holds
pending FCP requests and is then overwriten by an FCP response from the
tuner subunit.  Ditto for CMP lock requests and responses.  Accesses to
the payload buffer are serialized by fdtv->avc_mutex.

As a welcome side effect, stack usage of the AV/C transaction functions
is reduced by 512 bytes.

Alas, avc_register_remote_control() is a special case:  It previously
did not wait for a response.  To fit better in with the other FCP
transactions, let it wait for an interim response.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-02-26 15:10:48 -03:00
..
common saa7146: stop DMA before de-allocating DMA scatter/gather page buffers 2010-02-01 22:02:03 -02:00
dvb V4L/DVB: firedtv: do not DMA-map stack addresses 2010-02-26 15:10:48 -03:00
IR V4L/DVB: ir: fix memory leak 2010-02-26 15:10:35 -03:00
radio V4L/DVB (13948): radio: Correct use after free 2010-02-26 15:10:33 -03:00
video Fix the __init/__exit annotations 2010-02-26 15:10:48 -03:00
Kconfig V4L/DVB (13612): IR: Move common IR code to drivers/media/IR 2009-12-16 00:18:42 -02:00
Makefile V4L/DVB (13612): IR: Move common IR code to drivers/media/IR 2009-12-16 00:18:42 -02:00