android_kernel_samsung_sm8650/include/linux/usb
Kishon Vijay Abraham I a44623d927 usb: core: hcd: Add support for deferring roothub registration
It has been observed with certain PCIe USB cards (like Inateck connected
to AM64 EVM or J7200 EVM) that as soon as the primary roothub is
registered, port status change is handled even before xHC is running
leading to cold plug USB devices not detected. For such cases, registering
both the root hubs along with the second HCD is required. Add support for
deferring roothub registration in usb_add_hcd(), so that both primary and
secondary roothubs are registered along with the second HCD.

This patch has been added and reverted earier as it triggered a race
in usb device enumeration.
That race is now fixed in 5.16-rc3, and in stable back to 5.4
commit 6cca13de26 ("usb: hub: Fix locking issues with address0_mutex")
commit 6ae6dc22d2 ("usb: hub: Fix usb enumeration issue due to address0
race")

CC: stable@vger.kernel.org # 5.4+
Suggested-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Tested-by: Chris Chiu <chris.chiu@canonical.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Link: https://lore.kernel.org/r/20220510091630.16564-2-kishon@ti.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-05-12 13:59:59 +02:00
..
audio-v2.h usb: audio-v2: add ability to define feature unit descriptor 2021-07-21 10:10:11 +02:00
audio-v3.h
audio.h
c67x00.h
ccid.h
cdc_ncm.h
cdc-wdm.h
cdc.h
ch9.h headers/deps: USB: Optimize <linux/usb/ch9.h> dependencies, remove <linux/device.h> 2022-01-05 16:21:44 +01:00
chipidea.h
composite.h
ehci_def.h USB: EHCI: Add alias for Broadcom INSNREG 2021-08-18 22:28:28 +02:00
ehci_pdriver.h
ehci-dbgp.h
ezusb.h
functionfs.h
g_hid.h
gadget_configfs.h
gadget.h USB: gadget: Add ID numbers to gadget names 2022-05-11 18:59:25 +02:00
hcd.h usb: core: hcd: Add support for deferring roothub registration 2022-05-12 13:59:59 +02:00
input.h
iowarrior.h
irda.h
isp116x.h
isp1301.h
isp1362.h
m66592.h
musb-ux500.h
musb.h
net2280.h
of.h
ohci_pdriver.h
otg-fsm.h usb: otg-fsm: Fix hrtimer list corruption 2021-07-27 16:31:31 +02:00
otg.h usb: common: add helper to get role-switch-default-mode 2021-07-27 15:58:37 +02:00
pd_ado.h
pd_bdo.h usb: typec: tcpm: Fix undefined behavior due to shift overflowing the constant 2022-04-21 18:33:56 +02:00
pd_ext_sdb.h
pd_vdo.h
pd.h
phy_companion.h
phy.h
quirks.h
r8a66597.h
r8152.h
renesas_usbhs.h
rndis_host.h
role.h usb: roles: fix include/linux/usb/role.h compile issue 2022-01-25 18:30:15 +01:00
serial.h
sl811.h
storage.h
tcpm.h
tegra_usb_phy.h usb: phy: tegra: Support OTG mode programming 2021-10-05 12:47:49 +02:00
typec_altmode.h
typec_dp.h
typec_mux.h usb: typec: mux: Introduce indirection 2022-04-26 13:47:13 +02:00
typec_tbt.h
typec.h usb: typec: Factor out non-PD fwnode properties 2022-02-17 16:21:57 +01:00
uas.h
ulpi.h
usb338x.h
usb_phy_generic.h
usbnet.h
xhci-dbgp.h usb: early: xhci-dbc: Remove duplicate keep parsing 2022-03-15 18:20:34 +01:00