]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - drivers/pci/setup-bus.c
PCI: Remove unnecessary braces
[linux.git] / drivers / pci / setup-bus.c
index f279826204eb4f51a8b7988802149da81e32eca6..16300ad5e277aab867fb972995a2bef163f5b6da 100644 (file)
@@ -1803,12 +1803,18 @@ void pci_assign_unassigned_root_bus_resources(struct pci_bus *bus)
        /* Restore size and flags */
        list_for_each_entry(fail_res, &fail_head, list) {
                struct resource *res = fail_res->res;
+               int idx;
 
                res->start = fail_res->start;
                res->end = fail_res->end;
                res->flags = fail_res->flags;
-               if (fail_res->dev->subordinate)
-                       res->flags = 0;
+
+               if (pci_is_bridge(fail_res->dev)) {
+                       idx = res - &fail_res->dev->resource[0];
+                       if (idx >= PCI_BRIDGE_RESOURCES &&
+                           idx <= PCI_BRIDGE_RESOURCE_END)
+                               res->flags = 0;
+               }
        }
        free_list(&fail_head);
 
@@ -1902,11 +1908,10 @@ static void pci_bus_distribute_available_resources(struct pci_bus *bus,
         */
        if (hotplug_bridges + normal_bridges == 1) {
                dev = list_first_entry(&bus->devices, struct pci_dev, bus_list);
-               if (dev->subordinate) {
+               if (dev->subordinate)
                        pci_bus_distribute_available_resources(dev->subordinate,
                                add_list, available_io, available_mmio,
                                available_mmio_pref);
-               }
                return;
        }
 
@@ -2055,12 +2060,18 @@ void pci_assign_unassigned_bridge_resources(struct pci_dev *bridge)
        /* Restore size and flags */
        list_for_each_entry(fail_res, &fail_head, list) {
                struct resource *res = fail_res->res;
+               int idx;
 
                res->start = fail_res->start;
                res->end = fail_res->end;
                res->flags = fail_res->flags;
-               if (fail_res->dev->subordinate)
-                       res->flags = 0;
+
+               if (pci_is_bridge(fail_res->dev)) {
+                       idx = res - &fail_res->dev->resource[0];
+                       if (idx >= PCI_BRIDGE_RESOURCES &&
+                           idx <= PCI_BRIDGE_RESOURCE_END)
+                               res->flags = 0;
+               }
        }
        free_list(&fail_head);