Message ID | 20200424134800.4629-2-qais.yousef@arm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/3] usb/ohci-platform: Fix a warning when hibernating | expand |
On Fri, 24 Apr 2020, Qais Yousef wrote: > Follow suit of ohci-platform.c and perform pm_runtime_set_active() on > resume. > > ohci-platform.c had a warning reported due to the missing > pm_runtime_set_active() [1]. > > [1] https://lore.kernel.org/lkml/20200323143857.db5zphxhq4hz3hmd@e107158-lin.cambridge.arm.com/ > > Signed-off-by: Qais Yousef <qais.yousef@arm.com> > CC: Tony Prisk <linux@prisktech.co.nz> > CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org> > CC: Mathias Nyman <mathias.nyman@intel.com> > CC: Oliver Neukum <oneukum@suse.de> > CC: linux-arm-kernel@lists.infradead.org > CC: linux-usb@vger.kernel.org > CC: linux-kernel@vger.kernel.org > --- > > xhci_resume() here could fail, I wasn't sure if we need to call > pm_runtime_set_active() unconditionally. I assumed not. > > There was another function xhci_plat_resume(), I think we just care about the > PM runtime resume callback only. > > Please have a closer look. No, it's the other way around. The function you want to change is the one used for system resume, not runtime resume. Alan Stern
diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c index 1d4f6f85f0fe..7c6fd138072c 100644 --- a/drivers/usb/host/xhci-plat.c +++ b/drivers/usb/host/xhci-plat.c @@ -422,8 +422,17 @@ static int __maybe_unused xhci_plat_runtime_resume(struct device *dev) { struct usb_hcd *hcd = dev_get_drvdata(dev); struct xhci_hcd *xhci = hcd_to_xhci(hcd); + int ret; - return xhci_resume(xhci, 0); + ret = xhci_resume(xhci, 0); + if (ret) + return ret; + + pm_runtime_disable(dev); + pm_runtime_set_active(dev); + pm_runtime_enable(dev); + + return 0; } static const struct dev_pm_ops xhci_plat_pm_ops = {
Follow suit of ohci-platform.c and perform pm_runtime_set_active() on resume. ohci-platform.c had a warning reported due to the missing pm_runtime_set_active() [1]. [1] https://lore.kernel.org/lkml/20200323143857.db5zphxhq4hz3hmd@e107158-lin.cambridge.arm.com/ Signed-off-by: Qais Yousef <qais.yousef@arm.com> CC: Tony Prisk <linux@prisktech.co.nz> CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org> CC: Mathias Nyman <mathias.nyman@intel.com> CC: Oliver Neukum <oneukum@suse.de> CC: linux-arm-kernel@lists.infradead.org CC: linux-usb@vger.kernel.org CC: linux-kernel@vger.kernel.org --- xhci_resume() here could fail, I wasn't sure if we need to call pm_runtime_set_active() unconditionally. I assumed not. There was another function xhci_plat_resume(), I think we just care about the PM runtime resume callback only. Please have a closer look. drivers/usb/host/xhci-plat.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-)