| From dd6673f12f9a24d96fa58e2b64cb0edc24abb145 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Fri, 17 Jul 2020 12:38:19 -0400 |
| Subject: Revert "usb/xhci-plat: Set PM runtime as active on resume" |
| |
| This reverts commit 9e148a5e5e0929a4cb3000de9c843a07508ce575. |
| |
| 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 987351e1ea7772 ("phy: core: Add consumer device |
| > link support"). Getting evidence for that is easy. Reverting |
| > 987351e1ea7772 in vanilla leads to a similar backtrace [2]. |
| > |
| >Questions: |
| > - Backporting 987351e1ea7772 ("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: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/usb/host/xhci-plat.c | 11 +---------- |
| 1 file changed, 1 insertion(+), 10 deletions(-) |
| |
| diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c |
| index 169d7b2feb1f7..781283a5138ea 100644 |
| --- a/drivers/usb/host/xhci-plat.c |
| +++ b/drivers/usb/host/xhci-plat.c |
| @@ -313,17 +313,8 @@ static int xhci_plat_resume(struct device *dev) |
| { |
| struct usb_hcd *hcd = dev_get_drvdata(dev); |
| struct xhci_hcd *xhci = hcd_to_xhci(hcd); |
| - int ret; |
| - |
| - ret = xhci_resume(xhci, 0); |
| - if (ret) |
| - return ret; |
| - |
| - pm_runtime_disable(dev); |
| - pm_runtime_set_active(dev); |
| - pm_runtime_enable(dev); |
| |
| - return 0; |
| + return xhci_resume(xhci, 0); |
| } |
| |
| static const struct dev_pm_ops xhci_plat_pm_ops = { |
| -- |
| 2.25.1 |
| |