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@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx/ Signed-off-by: Qais Yousef <qais.yousef@xxxxxxx> CC: Tony Prisk <linux@xxxxxxxxxxxxxxx> CC: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> CC: Mathias Nyman <mathias.nyman@xxxxxxxxx> CC: Oliver Neukum <oneukum@xxxxxxx> CC: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx CC: linux-usb@xxxxxxxxxxxxxxx CC: linux-kernel@xxxxxxxxxxxxxxx --- 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(-) 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 = { -- 2.17.1