Skip to content
Commit 314b41b1 authored by Wu Liang feng's avatar Wu Liang feng Committed by Greg Kroah-Hartman
Browse files

USB: ehci-platform: Support ehci reset after resume quirk



The Rockchip rk3288 EHCI controller doesn't properly detect
the case when a device is removed during suspend. Specifically,
when usb resume from suspend, the EHCI controller maintaining
the USB state (FLAG_CF is 1, Current Connect Status is 1),
but a USB device (like a USB camera on rk3288) may have been
disconnected actually.

Let's add a quirk to force ehci to go into the
usb_root_hub_lost_power() path and reset after resume.
This should generally reset the whole controller and all
ports and initialize everything cleanly again, and bring
the devices back up.

As part of this, rename the "hibernation" paramter of
ehci_resume() to force_reset since hibernation is simply
another case where we can't trust the autodetected status
and need to force a reset of devices.

Signed-off-by: default avatarWu Liang feng <wulf@rock-chips.com>
Reviewed-by: default avatarJulius Werner <jwerner@google.com>
Reviewed-by: default avatarDoug Anderson <dianders@google.com>
Reviewed-by: default avatarTomasz Figa <tfiga@google.com>
Reviewed-by: default avatarPawel Osciak <posciak@google.com>
Reviewed-by: default avatarSonny Rao <sonnyrao@google.com>
Acked-by: default avatarAlan Stern <stern@rowland.harvard.edu>
Tested-by: default avatarDoug Anderson <dianders@google.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 96e41854
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment