diff options
author | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2012-01-07 07:52:37 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-01-10 19:38:59 -0500 |
commit | 7a6f6c29d264cdd2fe0eb3d923217eed5f0ad134 (patch) | |
tree | fc2044a0b5f6300cafbae08285c84e8f9bc55fee /drivers/block/cpqarray.h | |
parent | 15cb6af8ac1ee1291f98bae51cd46c6719e90c0f (diff) |
[media] cx231xx: use URB_NO_TRANSFER_DMA_MAP on URBs allocated with usb_alloc_urb()
URBs allocated with usb_alloc_urb() are allocated from DMA-coherent
areas, and therefore it is not necessary to call dma_map_single() on
such buffers. Worst, on ARM, calling dma_map_single() on a
DMA-coherent buffer will trigger a BUG_ON() in
arch/arm/mm/dma-mapping.c.
Therefore, we mark all URBs allocated with usb_alloc_urb() with the
URB_NO_TRANSFER_DMA_MAP transfer_flags, so that the USB core does not
do dma_map_single()/dma_unmap_single() on those buffers.
This is similar to 882787ff8fdeb0be790547ee9b22b281095e95da for the
gspca driver, and has already been discussed on the linux-media list
in the past:
http://www.mail-archive.com/linux-media@vger.kernel.org/msg37086.html.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/block/cpqarray.h')
0 files changed, 0 insertions, 0 deletions