summaryrefslogtreecommitdiffstats
path: root/drivers/media/video/cx231xx/cx231xx-vbi.c
diff options
context:
space:
mode:
authorDavid Dillow <dave@thedillows.org>2012-06-18 05:15:21 +0200
committerMauro Carvalho Chehab <mchehab@redhat.com>2012-07-06 06:46:18 +0200
commitcd5534be6bc681d6a5ca62b3b6066ff8515e1aac (patch)
tree12fe47bd42a669446246cb5f81eac71ac595d13e /drivers/media/video/cx231xx/cx231xx-vbi.c
parent[media] cx231xx: use TRANSFER_TYPE enum for cleanup (diff)
downloadlinux-cd5534be6bc681d6a5ca62b3b6066ff8515e1aac.tar.xz
linux-cd5534be6bc681d6a5ca62b3b6066ff8515e1aac.zip
[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. Signed-off-by: David Dillow <dave@thedillows.org> Cc: Sri Deevi <srinivasa.deevi@conexant.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/cx231xx/cx231xx-vbi.c')
-rw-r--r--drivers/media/video/cx231xx/cx231xx-vbi.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/media/video/cx231xx/cx231xx-vbi.c b/drivers/media/video/cx231xx/cx231xx-vbi.c
index 3d15314e1f88..ac7db52f404f 100644
--- a/drivers/media/video/cx231xx/cx231xx-vbi.c
+++ b/drivers/media/video/cx231xx/cx231xx-vbi.c
@@ -448,7 +448,7 @@ int cx231xx_init_vbi_isoc(struct cx231xx *dev, int max_packets,
return -ENOMEM;
}
dev->vbi_mode.bulk_ctl.urb[i] = urb;
- urb->transfer_flags = URB_NO_TRANSFER_DMA_MAP;
+ urb->transfer_flags = 0;
dev->vbi_mode.bulk_ctl.transfer_buffer[i] =
kzalloc(sb_size, GFP_KERNEL);