> On Thu, Feb 21, 2013 at 1:42 PM, Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote: > The output is all too clear. Both of you are using EHCI controllers > made by VIA, and they both exhibit this same problem -- which is > clearly caused by a silicon bug. > > It's entirely possible that the NVIDIA controller for which I wrote > this commit has a related bug (though not exactly the same one, because > that controller worked okay with it). At any rate, it seemed that the > NVIDIA problem was actually fixed by commit 6e0c3339a6f1 rather than by > the problem-causing commit 55bcdce8a822. > > It does look like the only way to work around this hardware bug is to > revert that commit. Below is a patch that does that, and it also > lowers the timeout period from 20 ms to about 4 ms. This won't affect > non-broken systems, because they update the schedule status bits in > well under 1 ms. And it appears that broken systems _never_ update the > status bits, so using a long timeout is pointless. > > Let me know how this works. I'm receiving the same result as Paul Hartman. Device works without a hitch after three reboots. If you consider it appriopate/helpful, you could add: Tested-by: Ronald Uitermark <ronald645@xxxxxxxxx> One note, the line that Paul Hartman is mentioning is probably repeating indefinitly during the connection. Don't know if that is intended/useful. Thanks a ton! Dmesg snippet below: [ 158.512556] hub 1-0:1.0: state 7 ports 6 chg 0000 evt 0008 [ 158.512585] ehci-pci 0000:00:10.3: GetStatus port:3 status 001803 0 ACK POWER sig=j CSC CONNECT [ 158.512600] hub 1-0:1.0: port 3, status 0501, change 0001, 480 Mb/s [ 158.670243] hub 1-0:1.0: debounce: port 3: total 100ms stable 100ms status 0x501 [ 158.730681] ehci-pci 0000:00:10.3: port 3 reset complete, port enabled [ 158.730699] ehci-pci 0000:00:10.3: GetStatus port:3 status 001005 0 ACK POWER sig=se0 PE CONNECT [ 158.790118] usb 1-3: new high-speed USB device number 5 using ehci-pci [ 158.850379] ehci-pci 0000:00:10.3: port 3 reset complete, port enabled [ 158.850399] ehci-pci 0000:00:10.3: GetStatus port:3 status 001005 0 ACK POWER sig=se0 PE CONNECT [ 158.914096] ehci-pci 0000:00:10.3: Waited too long for the async schedule status (0/8000), giving up [ 158.941238] usb 1-3: default language 0x0409 [ 158.942602] usb 1-3: udev 5, busnum 1, minor = 4 [ 158.942610] usb 1-3: New USB device found, idVendor=13fe, idProduct=1d00 [ 158.942615] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 158.942620] usb 1-3: Product: USB DISK 2.0 [ 158.942625] usb 1-3: Manufacturer: [ 158.942629] usb 1-3: SerialNumber: 6773166803F7 [ 158.942817] usb 1-3: usb_probe_device [ 158.942825] usb 1-3: configuration #1 chosen from 1 choice [ 158.943118] usb 1-3: adding 1-3:1.0 (config #1, interface 0) [ 158.943188] usb-storage 1-3:1.0: usb_probe_interface [ 158.943199] usb-storage 1-3:1.0: usb_probe_interface - got id [ 158.943299] scsi3 : usb-storage 1-3:1.0 [ 159.941061] scsi 3:0:0:0: Direct-Access USB DISK 2.0 PMAP PQ: 0 ANSI: 0 CCS [ 160.194236] sd 3:0:0:0: [sdb] 2009088 512-byte logical blocks: (1.02 GB/981 MiB) [ 160.194725] sd 3:0:0:0: [sdb] Write Protect is off [ 160.194734] sd 3:0:0:0: [sdb] Mode Sense: 23 00 00 00 [ 160.195222] sd 3:0:0:0: [sdb] No Caching mode page present [ 160.195231] sd 3:0:0:0: [sdb] Assuming drive cache: write through [ 160.199978] sd 3:0:0:0: [sdb] No Caching mode page present [ 160.199990] sd 3:0:0:0: [sdb] Assuming drive cache: write through [ 160.202658] sdb: sdb1 [ 160.206126] sd 3:0:0:0: [sdb] No Caching mode page present [ 160.206141] sd 3:0:0:0: [sdb] Assuming drive cache: write through [ 160.206149] sd 3:0:0:0: [sdb] Attached SCSI removable disk [ 160.269517] ehci-pci 0000:00:10.3: Waited too long for the async schedule status (0/8000), giving up [ 160.791751] ehci-pci 0000:00:10.3: Waited too long for the async schedule status (0/8000), giving up [ 165.284162] ehci-pci 0000:00:10.3: Waited too long for the async schedule status (0/8000), giving up [ 167.524154] ehci-pci 0000:00:10.3: Waited too long for the async schedule status (0/8000), giving up [ 172.004155] ehci-pci 0000:00:10.3: Waited too long for the async schedule status (0/8000), giving up [ 185.444208] ehci-pci 0000:00:10.3: Waited too long for the async schedule status (0/8000), giving up [ 187.684357] ehci-pci 0000:00:10.3: Waited too long for the async schedule status (0/8000), giving up [ 189.924167] ehci-pci 0000:00:10.3: Waited too long for the async schedule status (0/8000), giving up [ 192.164224] ehci-pci 0000:00:10.3: Waited too long for the async schedule status (0/8000), giving up [ 203.363973] ehci-pci 0000:00:10.3: Waited too long for the async schedule status (0/8000), giving up [ 207.156736] ehci-pci 0000:00:10.3: Waited too long for the async schedule status (0/8000), giving up [ 207.289067] ehci-pci 0000:00:10.3: Waited too long for the async schedule status (0/8000), giving up [ 209.444160] ehci-pci 0000:00:10.3: Waited too long for the async schedule status (0/8000), giving up [ 219.108909] ehci-pci 0000:00:10.3: Waited too long for the async schedule status (0/8000), giving up [ 225.124181] ehci-pci 0000:00:10.3: Waited too long for the async schedule status (0/8000), giving up [ 236.596086] ehci-pci 0000:00:10.3: Waited too long for the async schedule status (0/8000), giving up [ 283.364170] ehci-pci 0000:00:10.3: Waited too long for the async schedule status (0/8000), giving up [ 290.206143] ehci-pci 0000:00:10.3: Waited too long for the async schedule status (0/8000), giving up [ 292.191813] ehci-pci 0000:00:10.3: Waited too long for the async schedule status (0/8000), giving up [ 292.193800] sdb: detected capacity change from 1028653056 to 0 [ 303.524222] ehci-pci 0000:00:10.3: Waited too long for the async schedule status (0/8000), giving up [ 305.764177] ehci-pci 0000:00:10.3: Waited too long for the async schedule status (0/8000), giving up [ 310.243214] ehci-pci 0000:00:10.3: Waited too long for the async schedule status (0/8000), giving up [ 314.724128] ehci-pci 0000:00:10.3: Waited too long for the async schedule status (0/8000), giving up [ 319.204156] ehci-pci 0000:00:10.3: Waited too long for the async schedule status (0/8000), giving up [ 323.684174] ehci-pci 0000:00:10.3: Waited too long for the async schedule status (0/8000), giving up [ 341.604174] ehci-pci 0000:00:10.3: Waited too long for the async schedule status (0/8000), giving up [ 348.326793] ehci-pci 0000:00:10.3: Waited too long for the async schedule status (0/8000), giving up [ 355.044178] ehci-pci 0000:00:10.3: Waited too long for the async schedule status (0/8000), giving up [ 357.283948] ehci-pci 0000:00:10.3: Waited too long for the async schedule status (0/8000), giving up [ 358.769723] hub 1-0:1.0: state 7 ports 6 chg 0000 evt 0008 [ 358.769752] ehci-pci 0000:00:10.3: GetStatus port:3 status 001002 0 ACK POWER sig=se0 CSC [ 358.769767] hub 1-0:1.0: port 3, status 0100, change 0001, 12 Mb/s [ 358.769777] usb 1-3: USB disconnect, device number 5 [ 358.769781] usb 1-3: unregistering device [ 358.769787] usb 1-3: unregistering interface 1-3:1.0 [ 358.774066] usb 1-3: usb_disable_device nuking all URBs [ 358.930093] hub 1-0:1.0: debounce: port 3: total 100ms stable 100ms status 0x100 -- 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