On Fri, Nov 11, 2011 at 12:14:13PM -0600, Larry Finger wrote: > For the driver rtl8192cu (a USB wireless device), the current > version loads the 15KB firmware asynchronously one 32-bit quantity > at a time. Although inefficient. this method works with USB 1.1 and > USB 2.0 adapters; however, it fails on at least one USB 3.0 adapter > with "xhci_hcd 0000:05:00.0: ERROR no room on ep ring" errors. > > These errors are believed to arise from small, fixed-size ep rings. > There is a vendor driver that works with that same hardware. The > major difference is that it uses synchronous block writes of 254 > bytes. When I tried this with the in-kernel driver, each block write > yields a warning as shown below: > > nommu_map_single: overflow 41000340d020+254 of device mask ffffffff Strange. This means that your system uses the nommu DMA driver. But for your hardware the GART or SWIOTLB should be used. Even more strange is the address used for the device. I don't believe is is correct, otherwise your Laptop would have a very huge amount of RAM :) The I think there are two issues here: Why is your system using nommu and not GART? Can you check that GART and SWIOTLB are enabled in your kernel config? Second, why is your system using the wrong address? This looks like some kind of driver bug to mee. Joerg -- AMD Operating System Research Center Advanced Micro Devices GmbH Einsteinring 24 85609 Dornach General Managers: Alberto Bozzo, Andrew Bowd Registration: Dornach, Landkr. Muenchen; Registerger. Muenchen, HRB Nr. 43632 -- 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