xhci: Set HCD flag to defer primary roothub registration
stable inclusion from stable-v5.10.166 commit 6da7055826a10b3c1de7c7cc22d509ab41310b8b category: bugfix bugzilla: https://gitee.com/openeuler/kernel/issues/I87FRA Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=6da7055826a10b3c1de7c7cc22d509ab41310b8b -------------------------------- commit b7a4f9b5 upstream. Set "HCD_FLAG_DEFER_RH_REGISTER" to hcd->flags in xhci_run() to defer registering primary roothub in usb_add_hcd() if xhci has two roothubs. This will make sure both primary roothub and secondary roothub will be registered along with the second HCD. This is required for cold plugged USB devices to be detected in certain PCIe USB cards (like Inateck USB card connected to AM64 EVM or J7200 EVM). 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 6cca13de ("usb: hub: Fix locking issues with address0_mutex") commit 6ae6dc22 ("usb: hub: Fix usb enumeration issue due to address0 race") [minor rebase change, and commit message update -Mathias] CC: stable@vger.kernel.org # 5.4+ Suggested-by:Mathias Nyman <mathias.nyman@linux.intel.com> Tested-by:
Chris Chiu <chris.chiu@canonical.com> Signed-off-by:
Kishon Vijay Abraham I <kishon@ti.com> Link: https://lore.kernel.org/r/20220510091630.16564-3-kishon@ti.com Signed-off-by:
Adrian Zaharia <Adrian.Zaharia@windriver.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by:
sanglipeng <sanglipeng1@jd.com>
Loading
Please sign in to comment