Commit 5799eba8 authored by Bartosz Golaszewski's avatar Bartosz Golaszewski

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: default avatarAmit Pundir <amit.pundir@linaro.org>
Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8550-QRD, SM8650-QRD & SM8650-HDK
Tested-by: Caleb Connolly <caleb.connolly@linaro.org> # OnePlus 8T
Acked-by: default avatarBjorn Helgaas <bhelgaas@google.com>
Link: https://lore.kernel.org/r/20240612082019.19161-2-brgl@bgdev.plSigned-off-by: default avatarBartosz Golaszewski <bartosz.golaszewski@linaro.org>
parent 2f1630f4
...@@ -3069,7 +3069,9 @@ int pci_host_probe(struct pci_host_bridge *bridge) ...@@ -3069,7 +3069,9 @@ int pci_host_probe(struct pci_host_bridge *bridge)
struct pci_bus *bus, *child; struct pci_bus *bus, *child;
int ret; int ret;
pci_lock_rescan_remove();
ret = pci_scan_root_bus_bridge(bridge); ret = pci_scan_root_bus_bridge(bridge);
pci_unlock_rescan_remove();
if (ret < 0) { if (ret < 0) {
dev_err(bridge->dev.parent, "Scanning root bridge failed"); dev_err(bridge->dev.parent, "Scanning root bridge failed");
return ret; return ret;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment