Message ID | 20210302103659.v2.1.I44954d9e1169f2cf5c44e6454d357c75ddfa99a2@changeid |
---|---|
State | Accepted |
Commit | 2664deb0930643149d61cddbb66ada527ae180bd |
Headers | show |
Series | [v2] usb: dwc3: qcom: Honor wakeup enabled/disabled state | expand |
Hello: This patch was applied to qcom/linux.git (refs/heads/for-next): On Tue, 2 Mar 2021 10:37:03 -0800 you wrote: > The dwc3-qcom currently enables wakeup interrupts unconditionally > when suspending, however this should not be done when wakeup is > disabled (e.g. through the sysfs attribute power/wakeup). Only > enable wakeup interrupts when device_may_wakeup() returns true. > > Fixes: a4333c3a6ba9 ("usb: dwc3: Add Qualcomm DWC3 glue driver") > Signed-off-by: Matthias Kaehlcke <mka@chromium.org> > Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org> > > [...] Here is the summary with links: - [v2] usb: dwc3: qcom: Honor wakeup enabled/disabled state https://git.kernel.org/qcom/c/2664deb09306 You are awesome, thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/patchwork/pwbot.html
diff --git a/drivers/usb/dwc3/dwc3-qcom.c b/drivers/usb/dwc3/dwc3-qcom.c index 846a47be6df7..a8ae5cf46f1e 100644 --- a/drivers/usb/dwc3/dwc3-qcom.c +++ b/drivers/usb/dwc3/dwc3-qcom.c @@ -358,8 +358,10 @@ static int dwc3_qcom_suspend(struct dwc3_qcom *qcom) if (ret) dev_warn(qcom->dev, "failed to disable interconnect: %d\n", ret); + if (device_may_wakeup(qcom->dev)) + dwc3_qcom_enable_interrupts(qcom); + qcom->is_suspended = true; - dwc3_qcom_enable_interrupts(qcom); return 0; } @@ -372,7 +374,8 @@ static int dwc3_qcom_resume(struct dwc3_qcom *qcom) if (!qcom->is_suspended) return 0; - dwc3_qcom_disable_interrupts(qcom); + if (device_may_wakeup(qcom->dev)) + dwc3_qcom_disable_interrupts(qcom); for (i = 0; i < qcom->num_clocks; i++) { ret = clk_prepare_enable(qcom->clks[i]);