linux/drivers/usb
Chunfeng Yun 4ce186665e usb: xhci-mtk: Do not use xhci's virt_dev in drop_endpoint
xhci-mtk depends on xhci's internal virt_dev when it retrieves its
internal data from usb_host_endpoint both in add_endpoint and
drop_endpoint callbacks. But when setup packet was retired by
transaction errors in xhci_setup_device() path, a virt_dev for the slot
is newly created with real_port 0. This leads to xhci-mtks's NULL pointer
dereference from drop_endpoint callback as xhci-mtk assumes that virt_dev's
real_port is always started from one. The similar problems were addressed
by [1] but that can't cover the failure cases from setup_device.

This patch drops the usages of xhci's virt_dev in xhci-mtk's drop_endpoint
callback by adopting hashtable for searching mtk's schedule entity
from a given usb_host_endpoint pointer instead of searching a linked list.
So mtk's drop_endpoint callback doesn't have to rely on virt_dev at all.

[1] f351f4b63d ("usb: xhci-mtk: fix oops when unbind driver")

Signed-off-by: Ikjoon Jang <ikjn@chromium.org>
Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
Link: https://lore.kernel.org/r/20210826025144.51992-5-chunfeng.yun@mediatek.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-08-26 13:40:33 +02:00
..
atm usb: atm: cxacru: Fix typo in comment 2021-05-21 20:05:40 +02:00
c67x00
cdns3 usb: cdnsp: fix the wrong mult value for HS isoc or intr 2021-08-13 13:05:50 +02:00
chipidea Linux 5.13-rc7 2021-06-21 10:56:05 +02:00
class USB: usbtmc: Fix RCU stall warning 2021-07-27 15:52:37 +02:00
common Merge 5.14-rc5 into usb-next 2021-08-09 08:12:09 +02:00
core Revert "USB: quirks: ignore remote wake-up on Fibocom L850-GL LTE modem" 2021-07-21 11:36:34 +02:00
dwc2 usb: dwc2: gadget: implement udc_set_speed() 2021-08-13 09:00:12 +02:00
dwc3 usb: dwc3: pci: add support for AMD's newer generation platform. 2021-08-26 13:14:21 +02:00
early
gadget usb: bdc: Fix a resource leak in the error handling path of 'bdc_probe()' 2021-08-26 13:34:52 +02:00
host usb: xhci-mtk: Do not use xhci's virt_dev in drop_endpoint 2021-08-26 13:40:33 +02:00
image
isp1760 usb: isp1760: clean never read udc_enabled warning 2021-08-26 13:30:39 +02:00
misc usb: misc: brcmstb-usb-pinmap: add IRQ check 2021-08-13 13:05:50 +02:00
mon
mtu3 usb: mtu3: fix the wrong HS mult value 2021-08-13 13:05:50 +02:00
musb usb: musb: musb_dsps: request_irq() after initializing musb 2021-08-26 13:22:16 +02:00
phy usb: phy: tahvo: add IRQ check 2021-08-16 18:57:19 +02:00
renesas_usbhs usb: renesas_usbhs: Fix superfluous irqs happen after usb_pkt_pop() 2021-07-21 09:50:00 +02:00
roles usb: roles: add helper usb_role_string() 2021-05-27 09:17:18 +02:00
serial USB: serial: ftdi_sio: add device ID for Auto-M3 OP-COM v2 2021-08-05 09:47:25 +02:00
storage USB: usb-storage: Add LaCie Rugged USB3-FW to IGNORE_UAS 2021-07-21 09:15:45 +02:00
typec Merge 5.14-rc7 into usb-next 2021-08-24 15:21:10 +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