Re: [PATCH][2/4] usb: only set URB_NO_TRANSFER_DMA_MAP when dma is enabled | |
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] | |
On Sat, 26 Jan 2008, Magnus Damm wrote: > Alan and David, thanks for your comments. > > The HCD_LOCAL_MEM code only copies data into the bounce buffers if > URB_NO_TRANSFER_DMA_MAP is unset. If that flag is set then the code > expects the buffer to have been allocated using dma_alloc_coherent() > and therefore there is no point in copying it. Or mapping it, as the > original dma map code did. Anyway, so having that flag set even though > dma is disabled and the dma handle invalid (data is not at all in > buffers allocated using dma_alloc_coherent) breaks usb storage for > ohci-sm501. If usb-storage breaks then won't other drivers like ub break as well? The documentation for URB_NO_TRANSFER_DMA_MAP and URB_NO_SETUP_DMA_MAP says only that the DMA handle must be valid; it doesn't say that the buffer had to allocated by usb_buffer_alloc(), hcd_buffer_alloc(), or dma_alloc_coherent(). Now, there's nothing wrong with your patch. It avoids setting URB_NO_TRANSFER_DMA_MAP when the DMA handle is invalid. But the way you are overloading the meaning of that flag could easily lead to problems with other drivers. Alan Stern ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ linux-usb-devel@xxxxxxxxxxxxxxxxxxxxx To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
[Home] [Video for Linux] [Photo] [Yosemite Forum] [Yosemite Photos] [Video Projectors] [PDAs] [Hacking TiVo] [Linux Kernel] [Linux SCSI] [XFree86] [Devices] [Big List of Linux Books] [Free Dating]
![]() |