Hi Mike, On Mon, Aug 1, 2016 at 12:05 PM, Mike Murdoch <main.haarp@xxxxxxxxxxxxxx> wrote: > On 2016-08-01 13:57, Durval Menezes wrote: > > Hi Mathias, > > > > On Mon, Aug 1, 2016 at 8:20 AM, Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> wrote: > >>> On 01.08.2016 13:15, Durval Menezes wrote: > >>> Hello Mike, Mathias, list, > >>> > >>> On 06.02.2016 19:08, Mike Murdoch wrote: > >>> Bug ID: 111251 > >>> > >>> I have a NEC uPD720200 USB3.0 controller in a Thinkpad W520 laptop on > >>> kernel 4.4.1-gentoo. > >>> > >>> 0e:00.0 USB controller: NEC Corporation uPD720200 USB 3.0 Host > >>> Controller (rev 04) (prog-if 30 [XHCI]) > >>> Subsystem: Lenovo uPD720200 USB 3.0 Host Controller > >>> Flags: bus master, fast devsel, latency 0 > >>> Memory at f3800000 (64-bit, non-prefetchable) [size=8K] > >>> Capabilities: [50] Power Management version 3 > >>> Capabilities: [70] MSI: Enable- Count=1/8 Maskable- 64bit+ > >>> Capabilities: [90] MSI-X: Enable+ Count=8 Masked- > >>> Capabilities: [a0] Express Endpoint, MSI 00 > >>> Capabilities: [100] Advanced Error Reporting > >>> Capabilities: [140] Device Serial Number ff-ff-ff-ff-ff-ff-ff-ff > >>> Capabilities: [150] Latency Tolerance Reporting > >>> Kernel driver in use: xhci_hcd > >>> Kernel modules: xhci_pci > >>> > >>> When runtime power control for this controller is disabled > >>> (/sys/bus/pci/devices/0000:0e:00.0/power/control = on), the controller > >>> works fine and reaches over 120MB/s transfer rates. > >>> > >>> When runtime power control for this controller is enabled > >>> (/sys/bus/pci/devices/0000:0e:00.0/power/control = auto), two effects > >>> can be observed: > >>> > >>> - Transfer rates are much lower at around 30MB/s > >>> - During transfers, the controller dies after a couple of seconds: > >>> > >>> I found this message in the list archives, and I have the exact same > >>> issues on exactly the same hardware (Thinkpad W520 laptop with the same > >>> USB3 controller showing on lspci -v); otherwise, I'm running distro kernel > >>> 2.6.32-573.7.1.el6.x86_64 on a Springdale Linux 6.7 (RHEL6) install. > >>> > >>> I just verified that my controller's PM was set by default to "auto": > >>> cat /sys/bus/pci/devices/0000\:0e\:00.0/power/control > >>> auto > >>> I have now set it to "on" and will test whether this will work around > >>> the issue (I'm waiting for my USB3.0 "heavy duty" disk docks to be > >>> released from another system that is using them right now). > >>> > >>> I have one question for Mike: have you upgraded your uPD720200 controller > >>> firmware (as per [1], [2]) or are you still running stock? > >>> > >>> Also, one question for Mathias: do you know whether your patches at [3] > >>> can be applied to kernel 2.6.32? > >> The last patch in [3] is faulty. So don't use the patches from the mail. > >> > >> I just force updated that branch, so if you like you can try to backport > >> patches from: > >> > >> git://git.kernel.org/pub/scm/linux/kernel/git/mnyman/xhci.git bug_usb3_enum_rtresume > >> > >> only 2 patches are relevant: > >> > >> 8caabe9 xhci: Don't suspend the xhci bus it there is a pending event. > >> 4427456 xhci: resume USB 3 roothub first > > Thanks Mathias. Now I only need Mike's response concerning the firmware > > in order to proceed. > > > No, I haven't tried updating the firmware. Feel free to give it a go, > I'm curious if it'll make a difference. As long as the patch (or the workaround) allow me to avoid the issue, I'd rather let sleeping dragons lie (windows-only update procedure, etc) :-) > As for the patches. All three of them did fix this bug, but introduced > other problems (I don't remember details, sorry). As Mathias said, the > last one is faulty. However, using only the first two patches is *not* > enough to completely fix this bug (I verified it just now). No prob, Mathias sent me a reference to the relevant (and presumably working) patches, I will first try the "disable PM mode" workaround and later (possibly *much* later) to backport the patches to my kernel. > Unfortunately I don't have the time to do much testing. The Thinkpad is > used by someone else and I only have access to it on the weekends. A > workaround is to just disable runtime power management. Thanks for the feedback. > Let me know how things work for you! Will do: will post a progress report (on the workaround) later today to the list and, as you asked, directly to your email too. Thanks again, -- Durval Menezes (durval AT tmp DOT com DOT br, http://www.tmp.com.br/) -- 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