On 11/15/2011 04:36 PM, Julian Sikorski wrote: > W dniu 15.11.2011 07:42, Andiry Xu pisze: >> Please keep usb mail list CCed. > > I thought I am, but I guess something went wrong with gmane. Did you get > my other messages btw? > >> >> On 11/14/2011 08:40 PM, Julian Sikorski wrote: >>> >>> >>> W dniu 14.11.2011 10:27, Julian Sikorski pisze: >>>> W dniu 2011-11-14 10:24, Andiry Xu pisze: >>>>> On 11/12/2011 02:20 PM, Julian Sikorski wrote: >>>>>> W dniu 11.11.2011 21:11, Julian Sikorski pisze: >>>>>>> W dniu 31.08.2011 22:25, Julian Sikorski pisze: >>>>>>>> Hi, >>>>>>>> >>>>>>>> I originally reported this problem here: >>>>>>>> https://bugzilla.kernel.org/show_bug.cgi?id=35212 >>>>>>>> Summing up, the external hard drive will produce an io-error after >>>>>>>> about >>>>>>>> 30 minutes of being connected. After such event, system does not >>>>>>>> notice >>>>>>>> if the device is re-connected upon disconnection. I am attaching the >>>>>>>> relevant portion of /var/log/messages. >>>>>>>> The problem happens on an up-to-date Fedora 15 x86_64 (running >>>>>>>> kernel >>>>>>>> 2.6.40.3-0.fc15.x86_64) on a Clevo P150HM laptop and Lacie Rugged >>>>>>>> USB >>>>>>>> 3.0 hard disk. >>>>>>>> Please let me know if I can provide more information >>>>>>>> >>>>>>>> Regards, >>>>>>>> Julian >>>>>>> I have recently upgraded to Fedora 16, and I am now running kernel >>>>>>> 3.1.0-7.fc16.x86_64. This problem is far from being gone, >>>>>>> unfortunately. >>>>>>> It will go as follows: >>>>>>> - you plug the drive into one of USB3 ports >>>>>>> - everything works fine >>>>>>> - suspend and resume (not sure if this is necessary) >>>>> >>>>> Have you figured out if this suspend/resume step is necessary? >>>> >>>> Not yet. I will try later today (but bear with me given the hour needed >>>> to trigger the problem). >>>> >>> >>> Due to long time needed to reproduce the problem please accept this >>> partial report. >>> I have updated the kernel to 3.1.1-1.fc16.x86_64 (which showed up in >>> Fedora repositories earlier today). I then rebooted and am now running >>> with the drive connected for more than an hour downloading something off >>> bittorrent. Here is the fragment of /var/log/messages from the drive >>> connection until now. Keep in mind that these "stalled endpoint" >>> messages show up every 30 minutes (12:26, 12:56 and 13:26) - maybe if >>> the PC was suspended before they trigger the error? >>> >> >> Stalled endpoint message is normal. A reset endpoint command should >> bring it back into normal state. >> >> Do you connect other full speed devices to USB3 ports? > > Normally not since this machine has 2 USB3 ports and 3 USB2 ports. I can > try and see if the problem can also be reproduced if you would like me to. > You don't need to try that. The device first connected as a full speed device and fail to initialize, and then recognise as super speed device. Sounds like a device issue. Anyway, try the patch attached, do a suspend/resume and see if it still occur. Thanks, Andiry
diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c index 70f8da0..7f3814c 100644 --- a/drivers/usb/host/xhci.c +++ b/drivers/usb/host/xhci.c @@ -782,6 +782,9 @@ int xhci_resume(struct xhci_hcd *xhci, bool hibernated) temp = xhci_readl(xhci, &xhci->op_regs->status); } + /* force the host to re-initialize */ + temp = STS_SRE; + /* If restore operation fails, re-initialize the HC during resume */ if ((temp & STS_SRE) || hibernated) { /* Let the USB core know _both_ roothubs lost power. */