[PATCH] PCI: i386 mmconfig: don't forget bus number when setting fallback_slots bits
authorDaniel Ritz <daniel.ritz-ml@swissonline.ch>
Tue, 22 Aug 2006 14:29:09 +0000 (07:29 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Sat, 26 Aug 2006 20:05:37 +0000 (13:05 -0700)
On i386 PCI mmconfig forgets the bus number when setting the fallback_slots
bits which means fallback to conf1 only works for bus 0.

Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
arch/i386/pci/mmconfig.c

index e545b0992c48af9e03364330fc0fe4b6324a88f4..972180f738d9ae0d15fe059953fe2985cf454c09 100644 (file)
@@ -178,7 +178,7 @@ static __init void unreachable_devices(void)
                                pci_exp_set_dev_base(addr, k, PCI_DEVFN(i, 0));
                        if (addr == 0 ||
                            readl((u32 __iomem *)mmcfg_virt_addr) != val1) {
-                               set_bit(i, fallback_slots);
+                               set_bit(i + 32*k, fallback_slots);
                                printk(KERN_NOTICE
                        "PCI: No mmconfig possible on %x:%x\n", k, i);
                        }