PCI: Don't assign or reassign immutable resources
authorBjorn Helgaas <bhelgaas@google.com>
Tue, 1 Mar 2016 16:58:04 +0000 (10:58 -0600)
committerBjorn Helgaas <bhelgaas@google.com>
Tue, 8 Mar 2016 18:14:31 +0000 (12:14 -0600)
IORESOURCE_PCI_FIXED means the resource can't be moved, so if it's set,
don't bother trying to assign or reassign the resource.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
drivers/pci/setup-res.c

index 604011e..66c4d8f 100644 (file)
@@ -276,6 +276,9 @@ int pci_assign_resource(struct pci_dev *dev, int resno)
        resource_size_t align, size;
        int ret;
 
+       if (res->flags & IORESOURCE_PCI_FIXED)
+               return 0;
+
        res->flags |= IORESOURCE_UNSET;
        align = pci_resource_alignment(dev, res);
        if (!align) {
@@ -321,6 +324,9 @@ int pci_reassign_resource(struct pci_dev *dev, int resno, resource_size_t addsiz
        resource_size_t new_size;
        int ret;
 
+       if (res->flags & IORESOURCE_PCI_FIXED)
+               return 0;
+
        flags = res->flags;
        res->flags |= IORESOURCE_UNSET;
        if (!res->parent) {