Commit 7ac0d094 authored by Benjamin Herrenschmidt's avatar Benjamin Herrenschmidt Committed by Bjorn Helgaas
Browse files

PCI: Don't auto-realloc if we're preserving firmware config

Prevent auto-enabling of bridges reallocation when the FW tells us that the
initial configuration must be preserved for a given host bridge.

Link: https://lore.kernel.org/r/20190615002359.29577-3-benh@kernel.crashing.org


Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
parent a78cf965
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -1684,10 +1684,15 @@ static enum enable_type pci_realloc_detect(struct pci_bus *bus,
					   enum enable_type enable_local)
{
	bool unassigned = false;
	struct pci_host_bridge *host;

	if (enable_local != undefined)
		return enable_local;

	host = pci_find_host_bridge(bus);
	if (host->preserve_config)
		return auto_disabled;

	pci_walk_bus(bus, iov_resources_unassigned, &unassigned);
	if (unassigned)
		return auto_enabled;