diff options
author | Bjorn Helgaas <bhelgaas@google.com> | 2014-04-14 15:30:09 -0600 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2014-04-25 11:09:04 -0600 |
commit | 4e4ba9441fb431f3996de2454522342e0b1d9263 (patch) | |
tree | d3c3f093bcf34b5946ff9876d363491b38efa880 /arch | |
parent | 0b2d70764bb39242dcc49c0ebd10fcb8258ce5fa (diff) |
x86/PCI: Don't try to move IORESOURCE_PCI_FIXED resources
Don't attempt to move resource marked IORESOURCE_PCI_FIXED, even if
pci_claim_resource() fails. In some cases, these are legacy resources that
cannot be moved.
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/pci/i386.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/arch/x86/pci/i386.c b/arch/x86/pci/i386.c index db6b1ab4325..6db58d68feb 100644 --- a/arch/x86/pci/i386.c +++ b/arch/x86/pci/i386.c @@ -271,11 +271,16 @@ static void pcibios_allocate_dev_resources(struct pci_dev *dev, int pass) "BAR %d: reserving %pr (d=%d, p=%d)\n", idx, r, disabled, pass); if (pci_claim_resource(dev, idx) < 0) { - /* We'll assign a new address later */ - pcibios_save_fw_addr(dev, - idx, r->start); - r->end -= r->start; - r->start = 0; + if (r->flags & IORESOURCE_PCI_FIXED) { + dev_info(&dev->dev, "BAR %d %pR is immovable\n", + idx, r); + } else { + /* We'll assign a new address later */ + pcibios_save_fw_addr(dev, + idx, r->start); + r->end -= r->start; + r->start = 0; + } } } } |