On Thu, Jul 7, 2011 at 2:14 PM, Clemens Ladisch <clemens@xxxxxxxxxx> wrote: > Daniel Mack wrote: >> I have to revisit an issue we've discussed in length around a year ago >> and which still remains unsolved. I've been getting feedback from more >> users of my driver snd-usb-caiaq who report the issue found in bug >> #15580 in the kernel bugzilla: >> https://bugzilla.kernel.org/show_bug.cgi?id=15580 >> >> Let me quickly summarize the current state of this issue as I see it. >> >> The problem seems to be that certain 64bit chipsets can't deal with >> the fact that an URB's transfer_buffer is allocated with >> kmalloc(GFP_KERNEL). The effect is that kmalloc() is very likely to >> hand out memory which is not addressable by devices that are connected >> via 32bit PCI busses, such as EHCI controllers. In theory, DMA bounce >> buffers should be installed in such cases, or the IOMMU would be in >> charge to re-map these buffers to suitable locations, but for at least >> two people who have reported the issue, this obviously fails. > > The problem is that snd-usb-caiaq modifies the URB buffer after > submission. Hmm, no, it doesn't. I know I stated that once, but I confused the implementation of the Linux driver with the approach I chose for the Mac OS X driver code. Sorry about that. The driver simply copies audio material to its output URB and calls usb_submit_urb(). The URB buffer is not touched after that call. Daniel -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html