diff mbox series

[V2] usb: dwc3: gadget: Let pm runtime get/put paired

Message ID 20230801011548.30232-1-surong.pang@unisoc.com
State Superseded
Headers show
Series [V2] usb: dwc3: gadget: Let pm runtime get/put paired | expand

Commit Message

Surong Pang Aug. 1, 2023, 1:15 a.m. UTC
Pm_runtime_get is called when setting pending_events to true.
Pm_runtime_put is needed for pairing with pm_runtime_get.

Fixes: fc8bb91bc83e ("usb: dwc3: implement runtime PM")
Signed-off-by: Surong Pang <surong.pang@unisoc.com>

---
V2: add Fixes tag, fix Fixes tag
---
 drivers/usb/dwc3/gadget.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Elson Roy Serrao Aug. 1, 2023, 7:41 p.m. UTC | #1
On 7/31/2023 9:43 PM, Greg KH wrote:
> On Mon, Jul 31, 2023 at 06:33:04PM -0700, Elson Serrao wrote:
>>
>>
>> On 7/31/2023 6:15 PM, Surong Pang wrote:
>>> Pm_runtime_get is called when setting pending_events to true.
>>> Pm_runtime_put is needed for pairing with pm_runtime_get.
>>>
>>> Fixes: fc8bb91bc83e ("usb: dwc3: implement runtime PM")
>>> Signed-off-by: Surong Pang <surong.pang@unisoc.com>
>>>
>>> ---
>>> V2: add Fixes tag, fix Fixes tag
>>> ---
>>>    drivers/usb/dwc3/gadget.c | 1 +
>>>    1 file changed, 1 insertion(+)
>>>
>>> diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
>>> index 5fd067151fbf..9c835c5f9928 100644
>>> --- a/drivers/usb/dwc3/gadget.c
>>> +++ b/drivers/usb/dwc3/gadget.c
>>> @@ -4720,5 +4720,6 @@ void dwc3_gadget_process_pending_events(struct dwc3 *dwc)
>>>    		dwc3_interrupt(dwc->irq_gadget, dwc->ev_buf);
>>>    		dwc->pending_events = false;
>>>    		enable_irq(dwc->irq_gadget);
>>> +		pm_runtime_put(dwc->dev);
>>>    	}
>>>    }
>>
>> I am already handling this change as part of below series. Will be uploading
>> a separate patch based on the feedback from Roger.
>>
>> https://lore.kernel.org/all/be57511d-2005-a1f5-d5a5-809e71029aec@quicinc.com/
> 
> But this should be fixed now, and properly backported to stable kernels.
> There's no need to wait for a different patch series if this one is
> correct, right?
> 
Hi Greg

I have separated this change from the series and have uploaded below 
change as an independent fix. Based on the earlier feedback and 
discussion, few additional modifications are needed to properly handle 
pending events
https://lore.kernel.org/all/20230801192658.19275-1-quic_eserrao@quicinc.com/

Thanks
Elson
diff mbox series

Patch

diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
index 5fd067151fbf..9c835c5f9928 100644
--- a/drivers/usb/dwc3/gadget.c
+++ b/drivers/usb/dwc3/gadget.c
@@ -4720,5 +4720,6 @@  void dwc3_gadget_process_pending_events(struct dwc3 *dwc)
 		dwc3_interrupt(dwc->irq_gadget, dwc->ev_buf);
 		dwc->pending_events = false;
 		enable_irq(dwc->irq_gadget);
+		pm_runtime_put(dwc->dev);
 	}
 }