diff options
-rw-r--r-- | arch/powerpc/kernel/pci-common.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/arch/powerpc/kernel/pci-common.c b/arch/powerpc/kernel/pci-common.c index 980fe32895c0..89c83ccb85c1 100644 --- a/arch/powerpc/kernel/pci-common.c +++ b/arch/powerpc/kernel/pci-common.c | |||
@@ -748,7 +748,13 @@ static void __devinit pcibios_fixup_resources(struct pci_dev *dev) | |||
748 | struct resource *res = dev->resource + i; | 748 | struct resource *res = dev->resource + i; |
749 | if (!res->flags) | 749 | if (!res->flags) |
750 | continue; | 750 | continue; |
751 | if (res->end == 0xffffffff) { | 751 | /* On platforms that have PPC_PCI_PROBE_ONLY set, we don't |
752 | * consider 0 as an unassigned BAR value. It's technically | ||
753 | * a valid value, but linux doesn't like it... so when we can | ||
754 | * re-assign things, we do so, but if we can't, we keep it | ||
755 | * around and hope for the best... | ||
756 | */ | ||
757 | if (res->start == 0 && !(ppc_pci_flags & PPC_PCI_PROBE_ONLY)) { | ||
752 | pr_debug("PCI:%s Resource %d %016llx-%016llx [%x] is unassigned\n", | 758 | pr_debug("PCI:%s Resource %d %016llx-%016llx [%x] is unassigned\n", |
753 | pci_name(dev), i, | 759 | pci_name(dev), i, |
754 | (unsigned long long)res->start, | 760 | (unsigned long long)res->start, |