usb: dwc3: core: don't enable wakeup for runtime PM
Subsystems (2)
PATCH v2 1/1 usb: dwc3: core: don't enable wakeup for runtime PM
Don't enable dwc3 core to wakeup system by default if runtime suspended, this will make the power domain of dwc3 core or its parent device can't be off while system sleep even system wakeup by usb is not required.
---
Change for v2:
- Add fix tag and cc to stable kernel.
drivers/usb/dwc3/core.c | 4 ---- 1 file changed, 4 deletions(-)
drivers/usb/dwc3/core.c +0 -4
@@ -1840,8 +1840,6 @@ static int dwc3_runtime_suspend(struct device *dev)if (ret)return ret; -device_init_wakeup (dev, true); -return 0 ; }
@@ -1850,8 +1848,6 @@ static int dwc3_runtime_resume(struct device *dev)struct dwc3 *dwc =dev_get_drvdata (dev);int ret; -device_init_wakeup (dev, false); - ret =dwc3_resume_common (dwc,PMSG_AUTO_RESUME );if (ret)return ret;
Signature · 1 line
2.25.1
Greg KH
maintainerQuoted 39 lines · Li Jun
Don't enable dwc3 core to wakeup system by default if runtime suspended, this will make the power domain of dwc3 core or its parent device can't be off while system sleep even system wakeup by usb is not required.
Fixes fc8bb91bc83e ("usb: dwc3: implement runtime PM")Cc <[email protected]>Signed-off-by Li Jun <[email protected]>---
Change for v2:
- Add fix tag and cc to stable kernel.drivers/usb/dwc3/core.c | 4 ---- 1 file changed, 4 deletions(-)drivers/usb/dwc3/core.c +0
-4@@ -1840,8 +1840,6 @@ static int dwc3_runtime_suspend(struct device *dev)if (ret)return ret; -device_init_wakeup (dev, true); -return 0 ; }@@ -1850,8 +1848,6 @@ static int dwc3_runtime_resume(struct device *dev)struct dwc3 *dwc =dev_get_drvdata (dev);int ret; -device_init_wakeup (dev, false); - ret =dwc3_resume_common (dwc,PMSG_AUTO_RESUME );if (ret)return ret;Signature · 1 line
2.25.1
Can I get some verification by other users of this driver that this actually fixes something? I find it odd it's not shown up yet to anyone else...
thanks,
greg k-h
Quoted 43 lines
-----Original Message-----
From: Greg KH <[email protected]>
Sent: Friday, March 26, 2021 9:39 PM
To: Jun Li <[email protected]>
Cc: [email protected]; [email protected]
Subject: Re: [PATCH v2] usb: dwc3: core: don't enable wakeup for runtime PMQuoted 3 lines · Li Jun
Don't enable dwc3 core to wakeup system by default if runtime suspended, this will make the power domain of dwc3 core or its parent device can't be off while system sleep even system wakeup by usb is not
required.
Quoted 28 lines
Fixes fc8bb91bc83e ("usb: dwc3: implement runtime PM")Cc <[email protected]>Signed-off-by Li Jun <[email protected]>---
Change for v2:
- Add fix tag and cc to stable kernel.drivers/usb/dwc3/core.c | 4 ---- 1 file changed, 4 deletions(-)drivers/usb/dwc3/core.c index renamed from drivers/usb/dwc3/core.c +0
-0
94fdbe502ce9..0bba5c21de56100644drivers/usb/dwc3/core.c +0
-2@@ -1840,8 +1840,6 @@ static int dwc3_runtime_suspend(struct device *dev)if (ret)return ret; -device_init_wakeup (dev, true); -return 0 ; }@@ -1850,8 +1848,6 @@ static int dwc3_runtime_resume(struct device *dev)struct dwc3 *dwc =dev_get_drvdata (dev);int ret;
Quoted 12 lines
Quoted 8 lines
drivers/usb/dwc3/core.c +0
-3-device_init_wakeup (dev, false); - ret =dwc3_resume_common (dwc,PMSG_AUTO_RESUME );if (ret)return ret; --2.25.1
Can I get some verification by other users of this driver that this actually fixes something? I find it odd it's not shown up yet to anyone else...
This is not a common case for dwc3 users, I guess only a few users support runtime PM as it's disabled by default, even with runtime PM supported and enabled in my case, system sleeping with dwc3 core wakeup enabled does not break any function, it's just leave the power domain (attached to dwc3 core's parent device) _on_ even I don't need any usb remote wakeup, so it's trying to "fix" a power waste.
Thanks
Li Jun
Quoted 4 lines
thanks,
greg k-h