1. 23 12月, 2015 17 次提交
  2. 15 12月, 2015 18 次提交
  3. 20 11月, 2015 4 次提交
  4. 18 11月, 2015 1 次提交
    • D
      usb: dwc2: host: Fix remote wakeup when not in DWC2_L2 · 1fb7f12d
      Douglas Anderson 提交于
      In commit 734643df ("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 b46146d5 ("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: 734643df ("usb: dwc2: host: add flag to reflect bus state")
      Acked-by: NJohn Youn <johnyoun@synopsys.com>
      Tested-by: NGregory Herrero <gregory.herrero@intel.com>
      Reviewed-by: NHeiko Stuebner <heiko@sntech.de>
      Signed-off-by: NDouglas Anderson <dianders@chromium.org>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      1fb7f12d