On Wed, Jul 25, 2012 at 02:31:20AM -0700, Matthew Hall wrote: > Hello Sarah et. al, Hi Matthew! It helps if you Cc my email address in your mail. Otherwise it might get lost in a separate folder and ignored for a couple days. > I am attempting to use an Inland brand USB 3.0 multi-purpose Memory Card > reader, which I purchased from Micro Center, along with a Patriot EP Series > SDXC UHS-1 64 GB memory card, which I purchased from Fry's. I am connecting > these to my Debian unstable system running Linux 3.4.6 kernel self-compiled. > > I am getting the dreaded "xhci_hcd 0000:03:00.0: WARN Successful completion on > short TX: needs XHCI_TRUST_TX_LENGTH quirk?" looping infinitely into my dmesg > buffer. I saw this discussed on July 2nd and 3rd in a thread Sarah > cross-posted onto linux-usb which originated from Gary Miller's bug report to > her privately. > > http://marc.info/?l=linux-usb&m=134125692925503 > > I pre-apologize to Alan in advance if I have butchered the USB terminology as > he pointed out in the earlier thread. ;-) > > Card Reader Specs: > > http://www.microcenter.com/single_product_results.phtml?product_id=0371800 > > I read through all of the messages in this original thread and collected all > of the various troubleshooting items requested, while the USB and XHCI debug > were enabled: > > 1) the configuration of my self-compiled Linux 3.4.6 kernel, and dmesg from > booting the system > > 2) lspci -vvv and lspci -vvv -n Ok, it looks like the same version of Etron host controller as Gary: 03:00.0 USB controller: Etron Technology, Inc. EJ168 USB 3.0 Host Controller (rev 01) (prog-if 30 [XHCI]) 03:00.0 0c03: 1b6f:7023 (rev 01) (prog-if 30 [XHCI]) Have you tried applying the patch I sent to Gary for testing? I think that will remove the messages. > 3) dmesg and lsusb -v from plugging the reader into the SuperSpeed (3.0) port > > 4) dmesg and lsusb -v from plugging the reader into the HighSpeed (2.0) port > > I placed all of these here: > > http://www.mhcomputing.net/tmp/xhci-bug/ > > I would really like to fix whatever is causing this, as it's not very good for > performance, stability, and reliability if something is putting this > tremendously many printk's into the ring constantly. It's liable to cause some > kind of crash or corrupt the data going to and from the SDXC card. I don't think it will corrupt the data. It will just slow down reading data from the card. But you have a point about the messages filling up dmesg. I'll send you a patch shortly that rate limits the warning messages. > I would also politely suggest that each USB device should only squawk about > this problem once per insertion rather than repeatedly, to avoid making things > go haywire in the kernel with all these tight-looped printk's. The patch will make the printk only trigger once per USB host controller. The USB device really has nothing to do with these messages; it's the host that gives back the confusing completion code and untransferred buffer length. > So, is there anything else which is needed to clear up the problem in my > environment or is this enough data as-is? I never saw a clear answer if Gary > Miller's problem got fixed or not. Hopefully Gary could provide some > clarification what happened to his issue over the long haul. The patch fixed Gary's printk warnings, but didn't fix his overall issue. I need to follow up on that. So, can you test with the patch that I sent Gary and make sure that the printks go away and USB devices work properly under the Etron host? Then revert the patch, apply the printk rate limiting patch I'll send you shortly, and make sure you only get the SHORT_TX quirk message once. Sarah Sharp -- 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