WSL2-Linux-Kernel/drivers/usb
Johan Hovold fc49ca4dba USB: chipidea: fix interrupt deadlock
commit 9aaa81c336 upstream.

Chipidea core was calling the interrupt handler from non-IRQ context
with interrupts enabled, something which can lead to a deadlock if
there's an actual interrupt trying to take a lock that's already held
(e.g. the controller lock in udc_irq()).

Add a wrapper that can be used to fake interrupts instead of calling the
handler directly.

Fixes: 3ecb3e09b0 ("usb: chipidea: Use extcon framework for VBUS and ID detect")
Fixes: 876d4e1e82 ("usb: chipidea: core: add wakeup support for extcon")
Cc: Peter Chen <peter.chen@kernel.org>
Cc: stable@vger.kernel.org      # 4.4
Signed-off-by: Johan Hovold <johan@kernel.org>
Link: https://lore.kernel.org/r/20211021083447.20078-1-johan@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-11-18 19:16:08 +01:00
..
atm usb: atm: cxacru: Fix typo in comment 2021-05-21 20:05:40 +02:00
c67x00
cdns3 usb: cdns3: fix race condition before setting doorbell 2021-09-14 10:32:41 +02:00
chipidea USB: chipidea: fix interrupt deadlock 2021-11-18 19:16:08 +01:00
class USB: cdc-acm: fix break reporting 2021-10-05 13:50:52 +02:00
common Partially revert "usb: Kconfig: using select for USB_COMMON dependency" 2021-10-05 13:45:16 +02:00
core Revert "usb: core: hcd: Add support for deferring roothub registration" 2021-11-06 14:13:30 +01:00
dwc2 usb: dwc2: gadget: Fix ISOC transfer complete handling for DDMA 2021-09-14 10:42:00 +02:00
dwc3 usb: dwc3: gadget: Revert "set gadgets parent to the right controller" 2021-10-05 13:44:24 +02:00
early
gadget usb: gadget: Mark USB_FSL_QE broken on 64-bit 2021-11-12 15:05:47 +01:00
host usb: xhci: Enable runtime-pm by default on AMD Yellow Carp platform 2021-11-18 19:15:50 +01:00
image
isp1760 usb: isp1760: otg control register access 2021-08-27 16:11:39 +02:00
misc USB: iowarrior: fix control-message timeouts 2021-11-18 19:16:08 +01:00
mon
mtu3 usb: mtu3: fix random remote wakeup 2021-08-26 13:41:52 +02:00
musb usb: musb: Balance list entry in musb_gadget_queue 2021-11-12 15:05:47 +01:00
phy usb: phy: tahvo: add IRQ check 2021-08-16 18:57:19 +02:00
renesas_usbhs usb: renesas_usbhs: Fix spelling mistake "faile" -> "failed" 2021-08-27 10:29:32 +02:00
roles usb: roles: add helper usb_role_string() 2021-05-27 09:17:18 +02:00
serial USB: serial: keyspan: fix memleak on probe errors 2021-11-18 19:16:07 +01:00
storage usb-storage: Add compatibility quirk flags for iODD 2531/2541 2021-11-12 15:05:48 +01:00
typec usb: typec: tcpm: handle SRC_STARTUP state if cc changes 2021-10-05 13:47:00 +02:00
usbip usbip:vhci_hcd USB port can get stuck in the disabled state 2021-08-26 13:29:27 +02:00
Kconfig usb: remove reference to deleted config STB03xxx 2021-08-18 15:32:19 +02:00
Makefile usb: host: remove line for obsolete config USB_HWA_HCD 2021-08-18 15:32:19 +02:00
usb-skeleton.c