Re: hibernate/resume regression (WAS Re: [RFC v4 00/24] xHCI split roothub and USB 3.0 hub support for 2.6.39)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Mar 18, 2011 at 05:02:21AM -0400, CAI Qian wrote:
> Hello Sarah,
> 
> One of the following patches,
> 
> b1a72b70bbb82237b1041c78edee305503f6da31
> USB: Remove bitmap #define from hcd.h
> 
> 50e6c947c6340f7ba81deca99e8a37f458a00e49
> USB: Fix usb_add_hcd() checkpatch errors.
> 
> 0abde136582234dd720270ec3d5aeba69eae4d03
> xhci: Rework port suspend structures for limited ports.
> 
> 8c0d6f920004f065c2571f32b7c28e7f850e9810
> xhci: Rename variables and reduce register reads.
> 
> ba764f4b37e2bcce069f6c9d96b8374ee85257ed
> USB 3.0 Hub Changes
> 
> broke hibernate/resume path that the second attempt after the first hibernate/resume failed like this.
> 
> # echo disk >/sys/power/state 
> -bash: echo: write error: Device or resource busy
> 
> Mar 18 04:48:44 ibm-x3550m3-03 kernel: hub 9-1:1.0: hub_port_status failed (err = -22)
> Mar 18 04:48:44 ibm-x3550m3-03 kernel: done.
> Mar 18 04:48:44 ibm-x3550m3-03 NetworkManager[5690]: <info> (eth0): carrier now OFF (device state 8, deferring action for 4 seconds)
> Mar 18 04:48:44 ibm-x3550m3-03 NetworkManager[5690]: <info> (eth0): carrier now ON (device state 8)
> Mar 18 04:48:44 ibm-x3550m3-03 kernel: hub 8-1:1.0: unable to enumerate USB device on port 1
> Mar 18 04:48:53 ibm-x3550m3-03 kernel: PM: Syncing filesystems ... done.
> Mar 18 04:48:54 ibm-x3550m3-03 kernel: Freezing user space processes ... (elapsed 0.01 seconds) done.
> Mar 18 04:48:54 ibm-x3550m3-03 kernel: Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.
> Mar 18 04:48:54 ibm-x3550m3-03 kernel: PM: Preallocating image memory... done (allocated 321006 pages)
> Mar 18 04:48:54 ibm-x3550m3-03 kernel: PM: Allocated 1284024 kbytes in 0.59 seconds (2176.31 MB/s)
> Mar 18 04:48:54 ibm-x3550m3-03 kernel: Suspending console(s) (use no_console_suspend to debug)
> Mar 18 04:48:54 ibm-x3550m3-03 kernel: hub 9-1:1.0: suspend error -16
> Mar 18 04:48:54 ibm-x3550m3-03 kernel: pm_op(): usb_dev_freeze+0x0/0x20 returns -16
> Mar 18 04:48:54 ibm-x3550m3-03 kernel: PM: Device 9-1 failed to freeze async: error -16
> Mar 18 04:48:54 ibm-x3550m3-03 kernel: hub 9-0:1.0: activate --> -22
> Mar 18 04:48:54 ibm-x3550m3-03 kernel: hub 9-1:1.0: hub_port_status failed (err = -22)
> Mar 18 04:48:54 ibm-x3550m3-03 kernel: hub 9-1:1.0: hub_port_status failed (err = -22)
> Mar 18 04:48:54 ibm-x3550m3-03 kernel: hub 9-1:1.0: hub_port_status failed (err = -22)
> Mar 18 04:48:54 ibm-x3550m3-03 kernel: hub 9-1:1.0: hub_port_status failed (err = -22)
> Mar 18 04:48:54 ibm-x3550m3-03 kernel: hub 9-1:1.0: activate --> -22
> Mar 18 04:48:54 ibm-x3550m3-03 kernel: hub 8-1:1.0: activate --> -22
> Mar 18 04:48:54 ibm-x3550m3-03 kernel: PM: restore of devices complete after 4.179 msecs
> Mar 18 04:48:54 ibm-x3550m3-03 kernel: Restarting tasks ...
> Mar 18 04:48:54 ibm-x3550m3-03 kernel: hub 9-1:1.0: hub_port_status failed (err = -22)
> Mar 18 04:48:54 ibm-x3550m3-03 kernel: done.
> 
> My environment setup is:
> 
> PCI-E card -> 1st USB3 Disk
>            -> USB3 Hub -> 2nd USB3 Disk
>                        -> USB2 Hub -> USB2 Disk

You shouldn't hibernate/suspend with a USB 3.0 hub plugged in right now.
PM for USB 3.0 hubs isn't supported yet, as they use a completely
different protocol for device suspend than USB 2.0 hubs.  I'm not
surprised the second USB 3.0 hard drive was lost.

I'm going to try to work in USB 3.0 hub power management as bug fixes to
2.6.39, but I wanted the main bulk of the USB 3.0 hub support to go in
now, since it was such a big API change.

> After the first-time hibernate/resume, 2nd USB3 Disk was lost, and there were quite a bits
> of error messages.
> 
> Mar 18 04:59:41 ibm-x3550m3-03 kernel: xhci_hcd 0000:1a:00.0: WARN: short transfer on control ep
> Mar 18 04:59:41 ibm-x3550m3-03 kernel: xhci_hcd 0000:1a:00.0: xHCI xhci_drop_endpoint called with disabled ep ffff88026c9c6f00
> Mar 18 04:59:41 ibm-x3550m3-03 kernel: xhci_hcd 0000:1a:00.0: xHCI xhci_drop_endpoint called with disabled ep ffff88026c9c6ec0
> Mar 18 04:59:47 ibm-x3550m3-03 kernel: sd 7:0:0:0: [sdd] Unhandled error code
> Mar 18 04:59:47 ibm-x3550m3-03 kernel: sd 7:0:0:0: [sdd]  Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK
> Mar 18 04:59:47 ibm-x3550m3-03 kernel: sd 7:0:0:0: [sdd] CDB: Read(10): 28 00 00 00 00 01 00 00 01 00
> Mar 18 04:59:47 ibm-x3550m3-03 kernel: end_request: I/O error, dev sdd, sector 8
> Mar 18 04:59:47 ibm-x3550m3-03 kernel: Buffer I/O error on device sdd, logical block 1
> Mar 18 04:59:47 ibm-x3550m3-03 kernel: sd 7:0:0:0: [sdd] Unhandled error code
> Mar 18 04:59:47 ibm-x3550m3-03 kernel: sd 7:0:0:0: [sdd]  Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK
> Mar 18 04:59:47 ibm-x3550m3-03 kernel: sd 7:0:0:0: [sdd] CDB: Read(10): 28 00 00 00 00 01 00 00 01 00
> Mar 18 04:59:47 ibm-x3550m3-03 kernel: end_request: I/O error, dev sdd, sector 8
> Mar 18 04:59:47 ibm-x3550m3-03 kernel: Buffer I/O error on device sdd, logical block 1
> Mar 18 04:59:47 ibm-x3550m3-03 kernel: sd 7:0:0:0: [sdd] Unhandled error code
> Mar 18 04:59:47 ibm-x3550m3-03 kernel: sd 7:0:0:0: [sdd]  Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK
> Mar 18 04:59:47 ibm-x3550m3-03 kernel: sd 7:0:0:0: [sdd] CDB: Read(10): 28 00 2b aa 14 74 00 00 01 00
> Mar 18 04:59:47 ibm-x3550m3-03 kernel: end_request: I/O error, dev sdd, sector 5860533152
> Mar 18 04:59:47 ibm-x3550m3-03 kernel: Buffer I/O error on device sdd, logical block 732566644
> Mar 18 04:59:47 ibm-x3550m3-03 kernel: sd 7:0:0:0: [sdd] Unhandled error code
> Mar 18 04:59:47 ibm-x3550m3-03 kernel: sd 7:0:0:0: [sdd]  Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK
> Mar 18 04:59:47 ibm-x3550m3-03 kernel: sd 7:0:0:0: [sdd] CDB: Read(10): 28 00 2b aa 14 74 00 00 01 00
> Mar 18 04:59:47 ibm-x3550m3-03 kernel: end_request: I/O error, dev sdd, sector 5860533152
> Mar 18 04:59:47 ibm-x3550m3-03 kernel: Buffer I/O error on device sdd, logical block 732566644

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


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux