Re: USB transfer_buffer allocations on 64bit systems

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



[Removed alsa-devel from the CC: list because this doesn't involve ALSA 
any more]

On Wed, 14 Apr 2010, Daniel Mack wrote:

> No worries - I agree. But unfortunately, I'm out of ideas now, and my
> initial thoughts about what might cause the trouble were abviously not
> able to explain the issue. Does anyone see further steps of tracking
> this issue down?

Since using mem=4096M or GFP_DMA stopped the symptoms, it seems very 
likely that a buffer is getting allocated above the 4 GB line and not 
bounced or IOMMU-mapped correctly.

David, do you have anything to suggest?  Any ways to check for IOMMU or 
related errors?

The problem, in short, is that USB audio doesn't work properly when
Pedro boots a 64-bit kernel on his 4-GB machine.  With a 32-bit kernel
it works okay, and it also works if we use dma_alloc_coherent().  The
host controller is limited to 32-bit DMA, and the DMA addresses
generated by dma_map_single() appear to be normal.

At the moment we don't even know if this is caused by a bug in the 
kernel or a bug in Pedro's hardware.  But he has observed the same 
problem on two different machines, both using the ICH9 chipset.

Alan Stern

--
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

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux