These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / drivers / pci / setup-res.c
index 232f925..604011e 100644 (file)
@@ -36,6 +36,11 @@ void pci_update_resource(struct pci_dev *dev, int resno)
        enum pci_bar_type type;
        struct resource *res = dev->resource + resno;
 
+       if (dev->is_virtfn) {
+               dev_warn(&dev->dev, "can't update VF BAR%d\n", resno);
+               return;
+       }
+
        /*
         * Ignore resources for unimplemented BARs and unused resource slots
         * for 64 bit BARs.
@@ -177,6 +182,7 @@ static int pci_revert_fw_address(struct resource *res, struct pci_dev *dev,
        end = res->end;
        res->start = fw_addr;
        res->end = res->start + size - 1;
+       res->flags &= ~IORESOURCE_UNSET;
 
        root = pci_find_parent_resource(dev, res);
        if (!root) {
@@ -194,6 +200,7 @@ static int pci_revert_fw_address(struct resource *res, struct pci_dev *dev,
                         resno, res, conflict->name, conflict);
                res->start = start;
                res->end = end;
+               res->flags |= IORESOURCE_UNSET;
                return -EBUSY;
        }
        return 0;