diff options
| author | 2019-02-01 13:52:31 +0100 | |
|---|---|---|
| committer | 2019-02-08 10:21:22 +0100 | |
| commit | 4fdc1790e6a9ef22399c6bc6e63b80f4609f3b7e (patch) | |
| tree | a21ea27da696a856a796c1766309b5ae0a139e5e /drivers/usb/core/generic.c | |
| parent | usb: Change "wired" to "hardwired" for connect_type (diff) | |
| download | wireguard-linux-4fdc1790e6a9ef22399c6bc6e63b80f4609f3b7e.tar.xz wireguard-linux-4fdc1790e6a9ef22399c6bc6e63b80f4609f3b7e.zip | |
usb: handle warm-reset port requests on hub resume
On plug-in of my USB-C device, its USB_SS_PORT_LS_SS_INACTIVE
link state bit is set. Greping all the kernel for this bit shows
that the port status requests a warm-reset this way.
This just happens, if its the only device on the root hub, the hub
therefore resumes and the HCDs status_urb isn't yet available.
If a warm-reset request is detected, this sets the hubs event_bits,
which will prevent any auto-suspend and allows the hubs workqueue
to warm-reset the port later in port_event.
Signed-off-by: Jan-Marek Glogowski <glogow@fbihome.de>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/core/generic.c')
0 files changed, 0 insertions, 0 deletions
