diff options
author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2023-08-14 22:22:31 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2023-08-14 22:22:31 +0200 |
commit | bbb9e06d2c6435af9c62074ad7048910eeb2e7bc (patch) | |
tree | 17d152543a602d65c749efaaaaafde24d5fec46c /drivers/usb/dwc3 | |
parent | USB: gadget: f_mass_storage: Fix unused variable warning (diff) | |
parent | Linux 6.5-rc6 (diff) | |
download | linux-bbb9e06d2c6435af9c62074ad7048910eeb2e7bc.tar.xz linux-bbb9e06d2c6435af9c62074ad7048910eeb2e7bc.zip |
Merge 6.5-rc6 into usb-next
We need the USB and Thunderbolt fixes in here to build on.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/dwc3')
-rw-r--r-- | drivers/usb/dwc3/gadget.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c index 5fd067151fbf..858fe4c299b7 100644 --- a/drivers/usb/dwc3/gadget.c +++ b/drivers/usb/dwc3/gadget.c @@ -4455,9 +4455,14 @@ static irqreturn_t dwc3_check_event_buf(struct dwc3_event_buffer *evt) u32 count; if (pm_runtime_suspended(dwc->dev)) { + dwc->pending_events = true; + /* + * Trigger runtime resume. The get() function will be balanced + * after processing the pending events in dwc3_process_pending + * events(). + */ pm_runtime_get(dwc->dev); disable_irq_nosync(dwc->irq_gadget); - dwc->pending_events = true; return IRQ_HANDLED; } @@ -4718,6 +4723,8 @@ void dwc3_gadget_process_pending_events(struct dwc3 *dwc) { if (dwc->pending_events) { dwc3_interrupt(dwc->irq_gadget, dwc->ev_buf); + dwc3_thread_interrupt(dwc->irq_gadget, dwc->ev_buf); + pm_runtime_put(dwc->dev); dwc->pending_events = false; enable_irq(dwc->irq_gadget); } |