aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/chipidea/debug.c
diff options
context:
space:
mode:
authorDouglas Anderson <[email protected]>2015-10-22 20:05:03 +0000
committerFelipe Balbi <[email protected]>2015-11-17 17:35:38 +0000
commit1fb7f12d5bec1b0a699c85d724bd5184a01fa2dd (patch)
treeff862dcfe2f66e6b4cbab0ae0f67a2a3f0343a38 /drivers/usb/chipidea/debug.c
parentusb: dwc2: host: Fix ahbcfg for rk3066 (diff)
downloadkernel-1fb7f12d5bec1b0a699c85d724bd5184a01fa2dd.tar.gz
kernel-1fb7f12d5bec1b0a699c85d724bd5184a01fa2dd.zip
usb: dwc2: host: Fix remote wakeup when not in DWC2_L2
In commit 734643dfbdde ("usb: dwc2: host: add flag to reflect bus state") we changed dwc2_port_suspend() not to set the lx_state anymore (instead it sets the new bus_suspended variable). This introduced a bug where we would fail to detect device insertions if: 1. Plug empty hub into dwc2 2. Plug USB flash drive into the empty hub. 3. Wait a few seconds 4. Unplug USB flash drive 5. Less than 2 seconds after step 4, plug the USB flash drive in again. The dwc2_hcd_rem_wakeup() function should have been changed to look at the new bus_suspended variable. Let's fix it. Since commit b46146d59fda ("usb: dwc2: host: resume root hub on remote wakeup") talks about needing the root hub resumed if the bus was suspended, we'll include it in our test. It appears that the "port_l1_change" should only be set to 1 if we were in DWC2_L1 (the driver currently never sets this), so we'll update the former "else" case based on this test. Fixes: 734643dfbdde ("usb: dwc2: host: add flag to reflect bus state") Acked-by: John Youn <[email protected]> Tested-by: Gregory Herrero <[email protected]> Reviewed-by: Heiko Stuebner <[email protected]> Signed-off-by: Douglas Anderson <[email protected]> Signed-off-by: Felipe Balbi <[email protected]>
Diffstat (limited to 'drivers/usb/chipidea/debug.c')
0 files changed, 0 insertions, 0 deletions