No that looks alright, given you are allocating low memory pages. The
devices can probably do full 32-bit dma I bet, though.
Typically ... most usb host controllers you'll see are on PCI (OHCI, UHCI, EHCI) with no restrictions, and only some EHCI controllers can do 64-bit DMA. That's all visible in the the dma_mask for each interface in the device with the mass storage support, usually still at its "32-bit dma is ok" pci controller default.
But it seems that most current 2.6 DMA API implementations have some problems in those areas. See for example:
http://marc.theaimsgroup.com/?l=linux-kernel&m=106746453218943&w=2 http://marc.theaimsgroup.com/?l=linux-usb-devel&m=106789996221347&w=2
That second patch is a partial workaround for the first patch presumably not getting applied before 2.6.0-final. Net result, some systems with gobs of memory and no IOMMU may do needless buffer copies during USB I/O.
Though a quick glance suggested to me that SCSI infrastructure is consulting dma_mask directly, instead of using the DMA API calls which do that. I'm not sure I'd trust it to be any more correct, given GIGO ...
- Dave
------------------------------------------------------- This SF.Net email sponsored by: ApacheCon 2003, 16-19 November in Las Vegas. Learn firsthand the latest developments in Apache, PHP, Perl, XML, Java, MySQL, WebDAV, and more! http://www.apachecon.com/ _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
