linux-stable/drivers/usb
Shuah Khan 7344a8a801 usbip:vhci_hcd USB port can get stuck in the disabled state
[ Upstream commit 66cce9e73e ]

When a remote usb device is attached to the local Virtual USB
Host Controller Root Hub port, the bound device driver may send
a port reset command.

vhci_hcd accepts port resets only when the device doesn't have
port address assigned to it. When reset happens device is in
assigned/used state and vhci_hcd rejects it leaving the port in
a stuck state.

This problem was found when a blue-tooth or xbox wireless dongle
was passed through using usbip.

A few drivers reset the port during probe including mt76 driver
specific to this bug report. Fix the problem with a change to
honor reset requests when device is in used state (VDEV_ST_USED).

Reported-and-tested-by: Michael <msbroadf@gmail.com>
Suggested-by: Michael <msbroadf@gmail.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
Link: https://lore.kernel.org/r/20210819225937.41037-1-skhan@linuxfoundation.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-09-18 13:40:33 +02: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: Fixed incorrect gadget state 2021-08-12 13:22:10 +02:00
chipidea usb: chipidea: host: fix port index underflow and UBSAN complains 2021-09-18 13:40:30 +02:00
class USB: usbtmc: Fix RCU stall warning 2021-08-12 13:22:08 +02:00
common usb: otg-fsm: Fix hrtimer list corruption 2021-08-12 13:22:11 +02:00
core USB: core: Fix incorrect pipe calculation in do_proc_control() 2021-08-26 08:35:34 -04:00
dwc2 usb: dwc2: gadget: Fix sending zero length packet in DDMA mode. 2021-07-28 14:35:44 +02:00
dwc3 usb: dwc3: qcom: add IRQ check 2021-09-15 09:50:39 +02:00
early usb: early: ehci-dbgp: convert to readl_poll_timeout_atomic() 2020-09-25 16:29:09 +02:00
gadget usb: gadget: composite: Allow bMaxPower=0 if self-powered 2021-09-18 13:40:20 +02:00
host Revert "USB: xhci: fix U1/U2 handling for hardware with XHCI_INTEL_HOST quirk set" 2021-09-18 13:40:32 +02: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: trancevibrator: fix control-request direction 2021-06-03 09:00:34 +02:00
mon
mtu3 usb: mtu3: fix the wrong HS mult value 2021-09-12 08:58:28 +02:00
musb usb: musb: musb_dsps: request_irq() after initializing musb 2021-09-18 13:40:32 +02:00
phy usb: phy: tahvo: add IRQ check 2021-09-15 09:50:40 +02:00
renesas_usbhs usb: renesas_usbhs: Fix superfluous irqs happen after usb_pkt_pop() 2021-07-28 14:35:44 +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: mos7720: improve OOM-handling in read_mos_reg() 2021-09-12 08:58:26 +02:00
storage USB: usb-storage: Add LaCie Rugged USB3-FW to IGNORE_UAS 2021-07-28 14:35:43 +02:00
typec usb: typec: ucsi: Clear pending after acking connector change 2021-09-03 10:09:30 +02:00
usbip usbip:vhci_hcd USB port can get stuck in the disabled state 2021-09-18 13:40:33 +02:00
Kconfig
Makefile
usb-skeleton.c