invalid address returned by usb_alloc_coherent on dockstar

MacLaren, James M maclaren at tulane.edu
Thu Sep 2 19:21:04 EDT 2010


>> That's where it's going wrong.  Buffers allocated by dma_alloc_coherent()
>> are already DMA coherent and must not be passed to dma_map_single().  I
>> believe USB has some way to be told that the buffer is already suitable
>> for DMA without needing additional handling.

>Yes,
>setting
>urb->transfer_flags  = URB_NO_TRANSFER_DMA_MAP
>will do this

>Regards,

>Martin


Russell and Martin

THANKS!!! That solved it.  I also saw in the linux device drivers 3rd edition that they added 

urb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP;

after the call to usb_fill_bulk_urb

I did this and now it captures from /dev/video0 just fine.

If you ever find yourself in New Orleans I'll buy you a beer!

Thanks,
James
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20100902/ddb82bf2/attachment-0001.html>


More information about the linux-arm-kernel mailing list