PCI: fix bridge I/O window bus-to-resource conversion
authorBjorn Helgaas <bhelgaas@google.com>
Fri, 16 Mar 2012 23:47:59 +0000 (17:47 -0600)
committerJesse Barnes <jbarnes@virtuousgeek.org>
Tue, 20 Mar 2012 17:41:27 +0000 (10:41 -0700)
In 5bfa14ed9f3c, I forgot to initialize res2.flags before calling
pcibios_bus_to_resource(), which depends on the resource type to locate the
correct aperture.  This bug won't hurt x86, which currently never has an
offset between bus and CPU addresses, but will affect other architectures.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
drivers/pci/probe.c

index 944e05a66b979fd22614e7ab1ca2c98199b05d49..5e1ca3c58a7d4502b966974ec13c55a892e9be2b 100644 (file)
@@ -367,6 +367,7 @@ static void __devinit pci_read_bridge_io(struct pci_bus *child)
 
        if (base && base <= limit) {
                res->flags = (io_base_lo & PCI_IO_RANGE_TYPE_MASK) | IORESOURCE_IO;
+               res2.flags = res->flags;
                region.start = base;
                region.end = limit + 0xfff;
                pcibios_bus_to_resource(dev, &res2, &region);
This page took 0.026389 seconds and 5 git commands to generate.