diff options
Diffstat (limited to 'arch/ia64')
-rw-r--r-- | arch/ia64/pci/pci.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/arch/ia64/pci/pci.c b/arch/ia64/pci/pci.c index 783c83bb2b49..89f957ca3eb2 100644 --- a/arch/ia64/pci/pci.c +++ b/arch/ia64/pci/pci.c | |||
@@ -452,13 +452,12 @@ EXPORT_SYMBOL(pcibios_bus_to_resource); | |||
452 | static int __devinit is_valid_resource(struct pci_dev *dev, int idx) | 452 | static int __devinit is_valid_resource(struct pci_dev *dev, int idx) |
453 | { | 453 | { |
454 | unsigned int i, type_mask = IORESOURCE_IO | IORESOURCE_MEM; | 454 | unsigned int i, type_mask = IORESOURCE_IO | IORESOURCE_MEM; |
455 | struct resource *devr = &dev->resource[idx]; | 455 | struct resource *devr = &dev->resource[idx], *busr; |
456 | 456 | ||
457 | if (!dev->bus) | 457 | if (!dev->bus) |
458 | return 0; | 458 | return 0; |
459 | for (i=0; i<PCI_BUS_NUM_RESOURCES; i++) { | ||
460 | struct resource *busr = dev->bus->resource[i]; | ||
461 | 459 | ||
460 | pci_bus_for_each_resource(dev->bus, busr, i) { | ||
462 | if (!busr || ((busr->flags ^ devr->flags) & type_mask)) | 461 | if (!busr || ((busr->flags ^ devr->flags) & type_mask)) |
463 | continue; | 462 | continue; |
464 | if ((devr->start) && (devr->start >= busr->start) && | 463 | if ((devr->start) && (devr->start >= busr->start) && |