Skip to contentSkip to conversation

usb: dwc3: core: don't enable wakeup for runtime PM

PATCH In review Li Jun 2 participants 3 messages Mar 24, 2021 – Mar 27, 2021

Subsystems (2)
lore
Share & tools
lore

Li Jun

author
#0 lore raw

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.

Fixes fc8bb91bc83e ("usb: dwc3: implement runtime PM")

---
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
index 94fdbe502ce9..0bba5c21de56 100644
@@ -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
maintainer
#1 lore raw
Quoted 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")

---
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
index 94fdbe502ce9..0bba5c21de56 100644
@@ -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

author
#2 lore raw
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 PM

Quoted 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")

---
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..0bba5c21de56 100644

drivers/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