OrangePi_CM5/drivers/usb
Mathias Nyman 678d2cc204 xhci: Remove device endpoints from bandwidth list when freeing the device
commit 5aed5b7c2430ce318a8e62f752f181e66f0d1053 upstream.

Endpoints are normally deleted from the bandwidth list when they are
dropped, before the virt device is freed.

If xHC host is dying or being removed then the endpoints aren't dropped
cleanly due to functions returning early to avoid interacting with a
non-accessible host controller.

So check and delete endpoints that are still on the bandwidth list when
freeing the virt device.

Solves a list_del corruption kernel crash when unbinding xhci-pci,
caused by xhci_mem_cleanup() when it later tried to delete already freed
endpoints from the bandwidth list.

This only affects hosts that use software bandwidth checking, which
currenty is only the xHC in intel Panther Point PCH (Ivy Bridge)

Cc: stable@vger.kernel.org
Reported-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Tested-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20221024142720.4122053-5-mathias.nyman@intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-11-03 23:57:49 +09:00
..
atm usb: atm: don't use snprintf() for sysfs attrs 2020-08-25 19:11:18 +02:00
c67x00 Linux 5.9-rc3 2020-08-31 07:11:45 +02:00
cdns3 usb: cdns3: fix issue with rearming ISO OUT endpoint 2022-09-28 11:10:23 +02:00
chipidea usb: chipidea: udc: check request status before setting device address 2022-06-29 08:59:51 +02:00
class USB: cdc-acm: Add Icom PMR F3400 support (0c26:0020) 2022-09-08 11:11:39 +02:00
common usb: common: debug: Check non-standard control requests 2022-10-26 13:25:31 +02:00
core USB: add RESET_RESUME quirk for NVIDIA Jetson devices in RCM 2022-11-03 23:57:49 +09:00
dwc2 usb: dwc2: fix wrong order of phy_power_on and phy_init 2022-09-08 11:11:39 +02:00
dwc3 usb: dwc3: gadget: Don't set IMI for no_interrupt 2022-11-03 23:57:49 +09:00
early Revert "usb: early: convert to readl_poll_timeout_atomic()" 2021-12-22 09:30:56 +01:00
gadget usb: bdc: change state when port disconnected 2022-11-03 23:57:49 +09:00
host xhci: Remove device endpoints from bandwidth list when freeing the device 2022-11-03 23:57:49 +09:00
image USB: microtek: use set_host_byte() 2020-09-16 12:42:10 +02:00
isp1760 usb: isp1760-hcd: convert to readl_poll_timeout_atomic() 2020-09-25 16:30:05 +02:00
misc usb: idmouse: fix an uninit-value in idmouse_open 2022-10-26 13:25:54 +02:00
mon usb: mon: make mmapped memory read only 2022-10-15 07:55:54 +02:00
mtu3 usb: mtu3: fix USB 3.0 dual-role-switch from device to host 2022-05-09 09:04:56 +02:00
musb usb: musb: Fix musb_gadget.c rxstate overflow bug 2022-10-26 13:25:53 +02:00
phy usb: phy: generic: Get the vbus supply 2022-05-09 09:04:59 +02:00
renesas_usbhs usb: renesas: Fix refcount leak bug 2022-08-25 11:38:13 +02:00
roles usb: roles: Call try_module_get() from usb_role_switch_find_by_fwnode() 2021-05-14 09:49:55 +02:00
serial USB: serial: qcserial: add new usb-id for Dell branded EM7455 2022-10-15 07:55:55 +02:00
storage Revert "usb: storage: Add quirk for Samsung Fit flash" 2022-10-26 13:25:54 +02:00
typec usb: typec: ucsi: Remove incorrect warning 2022-10-05 10:38:38 +02:00
usbip usb: usbip: add missing device lock on tweak configuration cmd 2022-06-14 18:32:31 +02:00
Kconfig
Makefile
usb-skeleton.c