Graham bisected | commit 3e3da00c01d050307e753fb7b3e84aefc16da0d0 | x86/pci: AMD one chain system to use pci read out res cause the SND_HDA_INTEL doesn't work anymore. https://bugzilla.kernel.org/show_bug.cgi?id=16007 It turns out that his system with via chipset only have one hypertransport chain, but does have one extra orphan device 80:01.0 PCI: Probing PCI hardware (bus 00) PCI: Discovered primary peer bus 80 [IRQ] node 0 link 0: io port [1000, ffffff] TOM: 0000000080000000 aka 2048M node 0 link 0: mmio [e0000000, efffffff] node 0 link 0: mmio [a0000, bffff] node 0 link 0: mmio [80000000, ffffffff] bus: [00, ff] on node 0 link 0 Try to make peer root buses to share same mmio/io resources if those peer root buses fall into the same bus range. Also need to update insert_resource to avoid insert same resource two times. We need this patch for 2.6.34 stable. Reported-by: Graham Ramsey <ramsey.graham@xxxxxxxxxxxx> Bisected-by: Graham Ramsey <ramsey.graham@xxxxxxxxxxxx> Tested-by: Graham Ramsey <ramsey.graham@xxxxxxxxxxxx> Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx> Cc: stable@xxxxxxxxxx --- arch/x86/pci/bus_numa.c | 3 ++- kernel/resource.c | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) Index: linux-2.6/arch/x86/pci/bus_numa.c =================================================================== --- linux-2.6.orig/arch/x86/pci/bus_numa.c +++ linux-2.6/arch/x86/pci/bus_numa.c @@ -22,7 +22,8 @@ void x86_pci_root_bus_res_quirks(struct return; for (i = 0; i < pci_root_num; i++) { - if (pci_root_info[i].bus_min == b->number) + if (pci_root_info[i].bus_min <= b->number && + pci_root_info[i].bus_max >= b->number) break; } Index: linux-2.6/kernel/resource.c =================================================================== --- linux-2.6.orig/kernel/resource.c +++ linux-2.6/kernel/resource.c @@ -451,7 +451,7 @@ static struct resource * __insert_resour if (!first) return first; - if (first == parent) + if (first == parent || first == new) return first; if ((first->start > new->start) || (first->end < new->end)) -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html