[media] cx231xx: don't DMA to random addresses
authorDavid Dillow <dave@thedillows.org>
Mon, 18 Jun 2012 03:15:21 +0000 (00:15 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Fri, 6 Jul 2012 22:36:28 +0000 (19:36 -0300)
commita7deca6fa79d5c65575532e780f3c93f6bf8ddad
tree2754964d70a7ecba43a7a312d246176795f4e34a
parent4dab0e5fe8ceaaf267003b5d7aa0c31c1092bee0
[media] cx231xx: don't DMA to random addresses

Commit 7a6f6c29d264cdd2fe0eb3d923217eed5f0ad134 (cx231xx: use
URB_NO_TRANSFER_DMA_MAP) was intended to avoid mapping the DMA buffer
for URB twice. This works for the URBs allocated with usb_alloc_urb(),
as those are allocated from cohernent DMA pools, but the flag was also
added for the VBI and audio URBs, which have a manually allocated area.
This leaves the random trash in the structure after allocation as the
DMA address, corrupting memory and preventing VBI and audio from
working. Letting the USB core map the buffers solves the problem.

Cc: stable@kernel.org
Signed-off-by: David Dillow <dave@thedillows.org>
Cc: Sri Deevi <srinivasa.deevi@conexant.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/cx231xx/cx231xx-audio.c
drivers/media/video/cx231xx/cx231xx-vbi.c