diff options
Diffstat (limited to 'drivers/pci/setup-bus.c')
| -rw-r--r-- | drivers/pci/setup-bus.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c index 82634a2f1b1d..3abbfad9ddab 100644 --- a/drivers/pci/setup-bus.c +++ b/drivers/pci/setup-bus.c | |||
| @@ -352,11 +352,12 @@ static int pbus_size_mem(struct pci_bus *bus, unsigned long mask, unsigned long | |||
| 352 | continue; | 352 | continue; |
| 353 | r_size = r->end - r->start + 1; | 353 | r_size = r->end - r->start + 1; |
| 354 | /* For bridges size != alignment */ | 354 | /* For bridges size != alignment */ |
| 355 | align = (i < PCI_BRIDGE_RESOURCES) ? r_size : r->start; | 355 | align = resource_alignment(r); |
| 356 | order = __ffs(align) - 20; | 356 | order = __ffs(align) - 20; |
| 357 | if (order > 11) { | 357 | if (order > 11) { |
| 358 | dev_warn(&dev->dev, "BAR %d too large: " | 358 | dev_warn(&dev->dev, "BAR %d bad alignment %llx: " |
| 359 | "%#016llx-%#016llx\n", i, | 359 | "%#016llx-%#016llx\n", i, |
| 360 | (unsigned long long)align, | ||
| 360 | (unsigned long long)r->start, | 361 | (unsigned long long)r->start, |
| 361 | (unsigned long long)r->end); | 362 | (unsigned long long)r->end); |
| 362 | r->flags = 0; | 363 | r->flags = 0; |
| @@ -539,7 +540,11 @@ static void pci_bus_dump_res(struct pci_bus *bus) | |||
| 539 | if (!res) | 540 | if (!res) |
| 540 | continue; | 541 | continue; |
| 541 | 542 | ||
| 542 | printk(KERN_INFO "bus: %02x index %x %s: [%llx, %llx]\n", bus->number, i, (res->flags & IORESOURCE_IO)? "io port":"mmio", res->start, res->end); | 543 | printk(KERN_INFO "bus: %02x index %x %s: [%llx, %llx]\n", |
| 544 | bus->number, i, | ||
| 545 | (res->flags & IORESOURCE_IO) ? "io port" : "mmio", | ||
| 546 | (unsigned long long) res->start, | ||
| 547 | (unsigned long long) res->end); | ||
| 543 | } | 548 | } |
| 544 | } | 549 | } |
| 545 | 550 | ||
