summaryrefslogtreecommitdiff
path: root/arch/x86/pci/bus_numa.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/pci/bus_numa.c')
-rw-r--r--arch/x86/pci/bus_numa.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/arch/x86/pci/bus_numa.c b/arch/x86/pci/bus_numa.c
index 6999970ca753..f939d603adfa 100644
--- a/arch/x86/pci/bus_numa.c
+++ b/arch/x86/pci/bus_numa.c
@@ -12,12 +12,10 @@ void x86_pci_root_bus_res_quirks(struct pci_bus *b)
int i;
int j;
struct pci_root_info *info;
- struct pci_bus_resource *bus_res;
/* don't go for it if _CRS is used already */
- bus_res = list_first_entry(&b->resources, struct pci_bus_resource,
- list);
- if (bus_res->res != &ioport_resource)
+ if (b->resource[0] != &ioport_resource ||
+ b->resource[1] != &iomem_resource)
return;
if (!pci_root_num)
@@ -38,14 +36,13 @@ void x86_pci_root_bus_res_quirks(struct pci_bus *b)
printk(KERN_DEBUG "PCI: peer root bus %02x res updated from pci conf\n",
b->number);
- pci_bus_remove_resources(b);
info = &pci_root_info[i];
for (j = 0; j < info->res_num; j++) {
struct resource *res;
struct resource *root;
res = &info->res[j];
- pci_bus_add_resource(b, res, 0);
+ b->resource[j] = res;
if (res->flags & IORESOURCE_IO)
root = &ioport_resource;
else