mirror of https://gitee.com/openkylin/linux.git
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: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
This commit is contained in:
parent
a78cf9657b
commit
7ac0d094fb
|
@ -1684,10 +1684,15 @@ static enum enable_type pci_realloc_detect(struct pci_bus *bus,
|
||||||
enum enable_type enable_local)
|
enum enable_type enable_local)
|
||||||
{
|
{
|
||||||
bool unassigned = false;
|
bool unassigned = false;
|
||||||
|
struct pci_host_bridge *host;
|
||||||
|
|
||||||
if (enable_local != undefined)
|
if (enable_local != undefined)
|
||||||
return enable_local;
|
return enable_local;
|
||||||
|
|
||||||
|
host = pci_find_host_bridge(bus);
|
||||||
|
if (host->preserve_config)
|
||||||
|
return auto_disabled;
|
||||||
|
|
||||||
pci_walk_bus(bus, iov_resources_unassigned, &unassigned);
|
pci_walk_bus(bus, iov_resources_unassigned, &unassigned);
|
||||||
if (unassigned)
|
if (unassigned)
|
||||||
return auto_enabled;
|
return auto_enabled;
|
||||||
|
|
Loading…
Reference in New Issue