[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180322120323.GB3304@kroah.com>
Date: Thu, 22 Mar 2018 13:03:23 +0100
From: Greg KH <gregkh@...uxfoundation.org>
To: Zhengjun Xing <zhengjun.xing@...ux.intel.com>
Cc: stern@...land.harvard.edu, mathias.nyman@...ux.intel.com,
linux-usb@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] USB:fix USB3 devices behind USB3 hubs not resuming at
hibernate thaw
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
Powered by blists - more mailing lists