On Wed, Mar 21, 2018 at 01:29:42PM +0800, Zhengjun Xing wrote: > USB3 hubs don't support global suspend. > > USB3 specification 10.10, Enhanced SuperSpeed hubs only support selective > suspend and resume, they do not support global suspend/resume where the > hub downstream facing ports states are not affected. > > When system enters hibernation it first enters freeze process where only > the root hub enters suspend, usb_port_suspend() is not called for other > devices, and suspend status flags are not set for them. Other devices are > expected to suspend globally. Some external USB3 hubs will suspend the > downstream facing port at global suspend. These devices won't be resumed > at thaw as the suspend status flag is not set. > > A USB3 removable hard disk connected through a USB3 hub that won't resume > at thaw will fail to synchronize SCSI cache, return “cmd cmplt err -71” > error, and needs a 60 seconds timeout which causing system hang for 60s > before the USB host reset the port for the USB3 removable hard disk to > recover. > > Fix this by always calling usb_port_suspend() during freeze for USB3 > devices. This should go to the stable trees as well, right? greg k-h -- 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