Bug 12659

Summary: Failure to resume two Sandisk USB flash drives attached to a Belkin USB Busport Mobile (F5U022).
Product: Power Management Reporter: Rafael J. Wysocki (rjw)
Component: Hibernation/SuspendAssignee: Miles Lane (miles.lane)
Status: CLOSED PATCH_ALREADY_AVAILABLE    
Severity: normal CC: drb, miles.lane
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.29-rc3-git3 Subsystem:
Regression: Yes Bisected commit-id:
Bug Depends on:    
Bug Blocks: 7216, 12398    
Attachments: Move the restoration of USB controllers' config registers to .suspend

Description Rafael J. Wysocki 2009-02-08 11:16:55 UTC
Subject    : Miles Lane <miles.lane@gmail.com>
Submitter  : 2.6.29-rc3-git3 -- Failure to resume two Sandisk USB flash drives attached to a Belkin USB Busport Mobile (F5U022).
Date       : 2009-02-03 4:58
References : http://marc.info/?l=linux-kernel&m=123363718614763&w=4
Handled-By : "Rafael J. Wysocki" <rjw@sisk.pl>

This entry is being used for tracking a regression from 2.6.28.  Please don't
close it until the problem is fixed in the mainline.
Comment 1 Rafael J. Wysocki 2009-02-08 13:55:52 UTC
Submitter : Miles Lane <miles.lane@gmail.com>
Comment 2 Rafael J. Wysocki 2009-02-08 13:56:17 UTC
Subject : Failure to resume two Sandisk USB flash drives attached to a Belkin USB Busport Mobile (F5U022).
Comment 3 Miles Lane 2009-02-09 14:07:51 UTC
With 2.6.29-rc4-git1, I still cannot resume and get working Sandisk drives that are connected through the Cardbus USB card.

[18401.901129] hub 5-0:1.0: hub_resume
[18401.901401] ohci_hcd 0000:05:00.0: enabling device (0000 -> 0002)
[18401.901409] ohci_hcd 0000:05:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
[18401.901419] ohci_hcd 0000:05:00.0: setting latency timer to 64
[18401.901428] ohci_hcd 0000:05:00.0: BIOS/SMM active, control ffffffff
[18401.901433] ohci_hcd 0000:05:00.0: USB HC TakeOver from BIOS/SMM
[18407.401125] ohci_hcd 0000:05:00.0: USB HC takeover failed!  (BIOS/SMM bug)
[18407.412210] ohci_hcd 0000:05:00.0: USB HC reset timed out!
[18407.412215] ohci_hcd 0000:05:00.0: can't restart, -1
[18407.412219] usb usb6: root hub lost power or was reset
[18407.412226] ohci_hcd 0000:05:00.0: already suspended
[18407.412239] usb usb6: usb resume
[18407.412245] ohci_hcd 0000:05:00.0: BIOS/SMM active, control ffffffff
[18407.412251] ohci_hcd 0000:05:00.0: USB HC TakeOver from BIOS/SMM
[18412.912124] ohci_hcd 0000:05:00.0: USB HC takeover failed!  (BIOS/SMM bug)
[18412.923213] ohci_hcd 0000:05:00.0: USB HC reset timed out!
[18412.923218] ohci_hcd 0000:05:00.0: can't restart, -1
[18412.923222] usb usb6: root hub lost power or was reset
[18412.923226] usb usb6: bus resume fail, err -1
[18412.923230] ohci_hcd 0000:05:00.0: HC died; cleaning up
[18412.923277] pm_op(): usb_dev_resume+0x0/0x10 [usbcore] returns -1
[18412.923284] PM: Device usb6 failed to resume: error -1
[18412.923326] pm_op(): usb_dev_resume+0x0/0x10 [usbcore] returns -19
[18412.923332] PM: Device 6-2 failed to resume: error -19
[18412.923375] pm_op(): usb_dev_resume+0x0/0x10 [usbcore] returns -19
[18412.923379] PM: Device 6-1 failed to resume: error -19
[18412.972123] PM: Finishing wakeup.
[18412.972272] Restarting tasks ... <7>hub 5-0:1.0: state 7 ports 8 chg 0000 evt 0000
[18412.972693] hub 6-0:1.0: state 0 ports 2 chg 0000 evt 0000
[18412.972839] usb 6-1: USB disconnect, address 3
[18412.972980] usb 6-1: unregistering device
[18412.973134] usb 6-1: usb_disable_device nuking all URBs
[18412.973299] usb 6-1: unregistering interface 6-1:1.0
[18412.982098] done.
[18413.057051] sd 7:0:0:0: [sdc] READ CAPACITY failed
[18413.057215] sd 7:0:0:0: [sdc] Result: hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK,SUGGEST_OK
[18413.060417] sd 7:0:0:0: [sdc] Sense not available.
[18413.061071] sd 7:0:0:0: [sdc] Write Protect is off
[18413.061238] sd 7:0:0:0: [sdc] Mode Sense: 00 00 00 00
[18413.061404] sd 7:0:0:0: [sdc] Assuming drive cache: write through
[18413.098289] sd 6:0:0:0: [sdb] READ CAPACITY failed
[18413.098485] sd 6:0:0:0: [sdb] Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK,SUGGEST_OK
[18413.098802] sd 6:0:0:0: [sdb] Sense not available.
[18413.099269] sd 6:0:0:0: [sdb] Write Protect is off
[18413.099440] sd 6:0:0:0: [sdb] Mode Sense: 00 00 00 00
[18413.099611] sd 6:0:0:0: [sdb] Assuming drive cache: write through
[18413.116152] usb 6-1:1.0: uevent
[18413.117061] usb 6-1: uevent
[18413.117287] usb 6-2: USB disconnect, address 2
[18413.117439] usb 6-2: unregistering device
[18413.117590] usb 6-2: usb_disable_device nuking all URBs
[18413.117767] usb 6-2: unregistering interface 6-2:1.0
[18413.187923] usb 6-2:1.0: uevent
[18413.188817] usb 6-2: uevent
[18413.232891] ieee1394: Host added: ID:BUS[0-00:1023]  GUID[00e0b803660662e4]
[18413.674052] scsi 6:0:0:0: rejecting I/O to dead device
Comment 4 Rafael J. Wysocki 2009-02-10 05:24:57 UTC
Ah, I somehow didn't realize they were connected through a cardbus bridge.

We might have broken cardbus resume in the recent PCI PM patches, then.

What happens if you connect any of them to a USB port not on the cardbus?
Comment 5 Rafael J. Wysocki 2009-02-10 14:34:28 UTC
Created attachment 20185 [details]
Move the restoration of USB controllers' config registers to .suspend

OK, I have a theory, but I need you to verify it.

Namely, if a PCI USB controller is behind a cardbus bridge, we may be trying to restore its configuration registers too early, before the cardbus bridge is operational.  If this theory is correct, the attached patch is likely to help, so please test it.
Comment 6 Miles Lane 2009-02-12 16:30:26 UTC
I will test your patch today.
I just tested 2.6.29-rc4-git5.  The USB flash drives suspend and resume fine when connected to the USB2 ports on the side of the laptop.  The drives still fail to suspend/resume successfully when connected through the Belkin USB Busport Mobile (F5U022).  I will post the test results with your patch in a few moments.
Comment 7 Miles Lane 2009-02-12 17:22:44 UTC
Yes, your patch fixed the problem.  Thanks!
Comment 8 Miles Lane 2009-02-12 17:25:58 UTC
Not sure whether I am supposed to change the bug status or not.
Comment 9 Rafael J. Wysocki 2009-02-13 08:30:54 UTC
No, thanks.  I'll change it as appropriate when the bug is fixed in the mainline.
Comment 10 Rafael J. Wysocki 2009-02-13 14:04:29 UTC
Patch : http://bugzilla.kernel.org/attachment.cgi?id=20185&action=view
Comment 11 Rafael J. Wysocki 2009-02-14 14:19:06 UTC
Ignore-Patch : http://bugzilla.kernel.org/attachment.cgi?id=20185&action=view

Patch : http://marc.info/?l=linux-kernel&m=123456499020575&w=4

Notify-Also : Greg KH <gregkh@suse.de>
Notify-Also : Alan Stern <stern@rowland.harvard.edu>
Comment 12 Rafael J. Wysocki 2009-02-16 08:28:13 UTC
*** Bug 12571 has been marked as a duplicate of this bug. ***