linux/drivers/usb
Elson Roy Serrao 3ddaa6a274 usb: dwc3: Properly handle processing of pending events
If dwc3 is runtime suspended we defer processing the event buffer
until resume, by setting the pending_events flag. Set this flag before
triggering resume to avoid race with the runtime resume callback.

While handling the pending events, in addition to checking the event
buffer we also need to process it. Handle this by explicitly calling
dwc3_thread_interrupt(). Also balance the runtime pm get() operation
that triggered this processing.

Cc: stable@vger.kernel.org
Fixes: fc8bb91bc8 ("usb: dwc3: implement runtime PM")
Signed-off-by: Elson Roy Serrao <quic_eserrao@quicinc.com>
Acked-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Reviewed-by: Roger Quadros <rogerq@kernel.org>
Link: https://lore.kernel.org/r/20230801192658.19275-1-quic_eserrao@quicinc.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-08-04 14:57:23 +02:00
..
atm
c67x00 usb: c67x00-drv: Convert to platform remove callback returning void 2023-05-28 12:36:14 +01:00
cdns3 usb: cdns3: fix incorrect calculation of ep_buf_size when more than one config 2023-07-25 17:46:28 +02:00
chipidea usb: chipidea: imx: add missing USB PHY DPDM wakeup setting 2023-06-13 12:05:42 +02:00
class USB: usbtmc: Fix direction for 0-length ioctl control messages 2023-05-13 17:25:49 +09:00
common usb: common: usb-conn-gpio: Prevent bailing out if initial role is none 2023-08-04 14:57:04 +02:00
core USB: quirks: add quirk for Focusrite Scarlett 2023-07-25 17:41:22 +02:00
dwc2 usb: dwc2/platform: Convert to platform remove callback returning void 2023-05-30 15:27:17 +01:00
dwc3 usb: dwc3: Properly handle processing of pending events 2023-08-04 14:57:23 +02:00
early usb: early: xhci-dbc: Use memcpy_and_pad() 2023-01-31 10:40:54 +01:00
fotg210 usb: fotg210: Convert to platform remove callback returning void 2023-05-28 12:36:25 +01:00
gadget USB: Gadget: core: Help prevent panic during UVC unconfigure 2023-08-04 14:56:24 +02:00
host Revert "usb: xhci: tegra: Fix error check" 2023-07-25 17:44:10 +02:00
image scsi: usb: uas: Declare two host templates and host template pointers const 2023-03-24 19:20:00 -04:00
isp1760 usb: isp1760: Convert to platform remove callback returning void 2023-05-28 12:38:01 +01:00
misc usb: misc: ehset: fix wrong if condition 2023-07-27 10:37:30 +02:00
mon USB: mon: make mon_bin_class a static const structure 2023-06-20 16:20:45 +02:00
mtu3 usb: mtu3: add optional clock xhci_ck and frmcnt_ck 2023-04-20 11:17:05 +02:00
musb Revert "usb: common: usb-conn-gpio: Set last role to unknown before initial detection" 2023-06-15 11:30:35 +02:00
phy usb: Switch i2c drivers back to use .probe() 2023-05-29 15:53:11 +01:00
renesas_usbhs usb: renesas_usbhs: Convert to platform remove callback returning void 2023-05-28 12:38:01 +01:00
roles USB: roles: make role_class a static const structure 2023-06-20 16:20:40 +02:00
serial USB: serial: simple: sort driver entries 2023-07-20 15:59:25 +02:00
storage usb-storage: alauda: Fix uninit-value in alauda_check_media() 2023-08-04 14:57:16 +02:00
typec usb: typec: mux: intel: Add dependency on USB_COMMON 2023-08-04 14:56:17 +02:00
usbip usbip: usbip_host: Replace strlcpy with strscpy 2023-06-23 09:54:32 +02:00
Kconfig usb: move config USB_USS720 to usb's misc Kconfig 2023-03-29 10:34:08 +02:00
Makefile usb: host: u132-hcd: Delete driver 2023-03-21 14:06:11 +01:00
usb-skeleton.c