From: Bartosz Golaszewski Date: Wed, 12 Jun 2024 08:20:14 +0000 (+0200) Subject: PCI: Hold the rescan mutex when scanning for the first time X-Git-Tag: v6.11-rc1~213^2~6 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5799eba8eeabe79a476016f22a7aea57467b7638;p=thirdparty%2Fkernel%2Flinux.git PCI: Hold the rescan mutex when scanning for the first time With the introduction of PCI device power control drivers that will be able to trigger the port rescan when probing, we need to hold the rescan mutex during the initial pci_host_probe() too or the two could get in each other's way. Tested-by: Amit Pundir Tested-by: Neil Armstrong # on SM8550-QRD, SM8650-QRD & SM8650-HDK Tested-by: Caleb Connolly # OnePlus 8T Acked-by: Bjorn Helgaas Link: https://lore.kernel.org/r/20240612082019.19161-2-brgl@bgdev.pl Signed-off-by: Bartosz Golaszewski --- diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c index 5fbabb4e3425f..4c367f13acdc5 100644 --- a/drivers/pci/probe.c +++ b/drivers/pci/probe.c @@ -3069,7 +3069,9 @@ int pci_host_probe(struct pci_host_bridge *bridge) struct pci_bus *bus, *child; int ret; + pci_lock_rescan_remove(); ret = pci_scan_root_bus_bridge(bridge); + pci_unlock_rescan_remove(); if (ret < 0) { dev_err(bridge->dev.parent, "Scanning root bridge failed"); return ret;