Commit e14348a5 authored by Sasha Levin's avatar Sasha Levin Committed by Khalid Elmously

Revert "usb/xhci-plat: Set PM runtime as active on resume"

BugLink: https://bugs.launchpad.net/bugs/1888690

This reverts commit 737c975db35b0117fc5c702072ca2df6f2f7eb63.

Eugeniu Rosca writes:

On Thu, Jul 09, 2020 at 09:00:23AM +0200, Eugeniu Rosca wrote:
>After integrating v4.14.186 commit 5410d158ca2a50 ("usb/ehci-platform:
>Set PM runtime as active on resume") into downstream v4.14.x, we started
>to consistently experience below panic [1] on every second s2ram of
>R-Car H3 Salvator-X Renesas reference board.
>
>After some investigations, we concluded the following:
> - the issue does not exist in vanilla v5.8-rc4+
> - [bisecting shows that] the panic on v4.14.186 is caused by the lack
>   of v5.6-rc1 commit 987351e1 ("phy: core: Add consumer device
>   link support"). Getting evidence for that is easy. Reverting
>   987351e1 in vanilla leads to a similar backtrace [2].
>
>Questions:
> - Backporting 987351e1 ("phy: core: Add consumer device
>   link support") to v4.14.187 looks challenging enough, so probably not
>   worth it. Anybody to contradict this?
> - Assuming no plans to backport the missing mainline commit to v4.14.x,
>   should the following three v4.14.186 commits be reverted on v4.14.x?
>   * baef809ea497a4 ("usb/ohci-platform: Fix a warning when hibernating")
>   * 9f33eff4958885 ("usb/xhci-plat: Set PM runtime as active on resume")
>   * 5410d158ca2a50 ("usb/ehci-platform: Set PM runtime as active on resume")
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
Signed-off-by: default avatarKamal Mostafa <kamal@canonical.com>
Signed-off-by: default avatarKhalid Elmously <khalid.elmously@canonical.com>
parent 0a5dd128
...@@ -249,17 +249,8 @@ static int xhci_plat_resume(struct device *dev) ...@@ -249,17 +249,8 @@ static int xhci_plat_resume(struct device *dev)
{ {
struct usb_hcd *hcd = dev_get_drvdata(dev); struct usb_hcd *hcd = dev_get_drvdata(dev);
struct xhci_hcd *xhci = hcd_to_xhci(hcd); struct xhci_hcd *xhci = hcd_to_xhci(hcd);
int ret;
ret = xhci_resume(xhci, 0);
if (ret)
return ret;
pm_runtime_disable(dev); return xhci_resume(xhci, 0);
pm_runtime_set_active(dev);
pm_runtime_enable(dev);
return 0;
} }
static const struct dev_pm_ops xhci_plat_pm_ops = { static const struct dev_pm_ops xhci_plat_pm_ops = {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment