http://bugzilla.kernel.org/show_bug.cgi?id=10396
------- Comment #14 from [EMAIL PROTECTED] 2008-04-08 23:14 ------- Created an attachment (id=15685) --> (http://bugzilla.kernel.org/attachment.cgi?id=15685&action=view) v2.6.25-rc8 acpi-pci-bus debug "PINPOINTED" failed boot log Well it had to prove me wrong. The cause of the issue is "Bus already known", despite what I speculated in comment #13 (unlucky for some!). For some reason the call to pr_debug() in drivers/pci/probe.c::pci_create_bus() isn't resulting in a kernel message so it misled my reasoning as to the error. if (pci_find_bus(pci_domain_nr(b), bus)) { /* If we already got to this bus through a different bridge, ignore it */ pr_debug("PCI: Bus %04x:%02x already known\n", pci_domain_nr(b), bus); printk(KERN_INFO "PCI: drivers/pci/probe.c::pci_create_bus() Bus already known\n"); goto err_out; } [ 37.222374] bus: 'acpi': driver_probe_device: matched device PNP0A03:01 with driver pci_root [ 37.226348] bus: 'acpi': really_probe: probing driver pci_root with device PNP0A03:01 [ 37.230370] nsutils-0869 [03] ns_get_node : _SEG, AE_NOT_FOUND [ 37.238371] Execute Method: [\_SB_.PX0B._BBN] (Node f5412d20) [ 37.247233] ACPI: PCI Root Bridge [PX0B] (0000:02) [ 37.250352] PCI: arch/x86/pci/acpi.c::pci_acpi_scan_root(device, 0, 2) [ 37.254361] PCI: drivers/pci/probe.c::pci_scan_bus_parented() [ 37.258349] PCI: drivers/pci/probe.c::pci_create_bus() [ 37.262351] PCI: drivers/pci/search.c::pci_find_bus(0, 2) [ 37.266350] PCI: drivers/pci/search.c::pci_find_next_bus(0) [ 37.270351] PCI: drivers/pci/search.c::pci_find_next_bus(F5462800) [ 37.274351] PCI: drivers/pci/search.c::pci_do_find_bus(bus, 2) [ 37.278351] PCI: drivers/pci/search.c::pci_do_find_bus(bus, 2) [ 37.282350] PCI: drivers/pci/search.c::pci_do_find_bus()=NULL [ 37.286350] PCI: drivers/pci/search.c::pci_do_find_bus()=NULL [ 37.290351] PCI: drivers/pci/search.c::pci_find_next_bus(F5462800) [ 37.294352] PCI: drivers/pci/search.c::pci_find_next_bus(F5462C00) [ 37.298352] PCI: drivers/pci/search.c::pci_do_find_bus(bus, 2) [ 37.302352] PCI: drivers/pci/search.c::pci_do_find_bus()=F5462C00 [ 37.306352] PCI: drivers/pci/search.c::pci_find_bus()=F5462C00 [ 37.310352] PCI: drivers/pci/probe.c::pci_create_bus() Bus already known [ 37.314353] PCI: drivers/pci/probe.c::pci_create_bus()=NULL [ 37.318352] PCI: pci_scan_bus_parented()=NULL [ 37.322354] PCI: arch/x86/pci/acpi.c::pci_acpi_scan_root()=NULL [ 37.326355] ACPI: Bus 0000:02 not present in PCI namespace Looking back through the log for references to the buses I found: [ 4.382109] device: 'PNP0A03:00': device_add [ 4.384305] PM: Adding info for acpi:PNP0A03:00 [ 4.388291] bus: 'acpi': add device PNP0A03:00 [ 11.666574] device: 'PNP0A03:01': device_add [ 11.668762] PM: Adding info for acpi:PNP0A03:01 [ 11.672747] bus: 'acpi': add device PNP0A03:01 [ 11.824765] device: 'PNP0A03:02': device_add [ 11.828773] PM: Adding info for acpi:PNP0A03:02 [ 11.832757] bus: 'acpi': add device PNP0A03:02 [ 19.401234] device: 'pci0000:00': device_add [ 19.405256] PM: Adding info for No Bus:pci0000:00 [ 19.409237] device: '0000:00': device_add [ 19.413257] PM: Adding info for No Bus:0000:00 [ 19.425226] PCI: drivers/pci/probe.c::pci_create_bus()=F5462800 [ 19.481239] device: 'pci0000:02': device_add [ 19.485255] PM: Adding info for No Bus:pci0000:02 [ 19.489241] device: '0000:02': device_add [ 19.493261] PM: Adding info for No Bus:0000:02 [ 19.497312] PCI: drivers/pci/probe.c::pci_create_bus()=F5462C00 [ 19.593247] device: 'pci0000:03': device_add [ 19.597262] PM: Adding info for No Bus:pci0000:03 [ 19.601248] device: '0000:03': device_add [ 19.605267] PM: Adding info for No Bus:0000:03 [ 19.609310] PCI: drivers/pci/probe.c::pci_create_bus()=F550E000 The ACPI PNP0A03 devices are: PX0A: _UID 1, _BBN 0, _ADR 0x00120000, pci_bus=0xF5462800, device 0000:0 PX0B: _UID 2, _BBN 2?, _ADR_0x00130000, pci_bus=0xF5462C00, device 0000:2 PX1A: _UID 3, _BBN 3?, _ADR 0x00140000, pci_bus=0xF550E000, device 0000:3 The ? above indicates _BBN is calculated in a method and the values I show here are the ones reported by ACPI as bus number. So buses 0:2 and 0:3 are created when the first root bridge (PX0A) is scanned. That causes the later scan/create in ACPI/PCI to fail with the "Bus already known" reason. [ 37.306352] PCI: drivers/pci/search.c::pci_find_bus()=F5462C00 [ 37.310352] PCI: drivers/pci/probe.c::pci_create_bus() Bus already known [ 37.430360] PCI: drivers/pci/search.c::pci_find_bus()=F550E000 [ 37.434360] PCI: drivers/pci/probe.c::pci_create_bus() Bus already known Here's the call logic when 0000:0 has been created and is being scanned itself: [ 19.369259] ACPI: PCI Root Bridge [PX0A] (0000:00) [ 19.373231] PCI: arch/x86/pci/acpi.c::pci_acpi_scan_root(device, 0, 0) [ 19.377237] PCI: drivers/pci/probe.c::pci_scan_bus_parented() [ 19.381229] PCI: drivers/pci/probe.c::pci_create_bus() [ 19.385232] PCI: drivers/pci/search.c::pci_find_bus(0, 0) [ 19.389230] PCI: drivers/pci/search.c::pci_find_next_bus(0) [ 19.393230] PCI: drivers/pci/search.c::pci_find_next_bus(0) [ 19.397230] PCI: drivers/pci/search.c::pci_find_bus()=NULL [ 19.401234] device: 'pci0000:00': device_add [ 19.405256] PM: Adding info for No Bus:pci0000:00 [ 19.409237] device: '0000:00': device_add [ 19.413257] PM: Adding info for No Bus:0000:00 [ 19.425226] PCI: drivers/pci/probe.c::pci_create_bus()=F5462800 [ 19.425495] * Found PM-Timer Bug on the chipset. Due to workarounds for a bug, [ 19.425503] * this clock source is slow. Consider trying other clock sources [ 19.429300] pci 0000:00:02.3: quirk: region 0800-083f claimed by PIIX4 ACPI [ 19.433238] pci 0000:00:02.3: quirk: region 0850-085f claimed by PIIX4 SMB [ 19.437545] pci 0000:00:10.0: Searching for i450NX host bridges [ 19.441239] PCI: drivers/pci/probe.c::pci_scan_bus_parented() [ 19.445233] PCI: drivers/pci/probe.c::pci_create_bus() [ 19.449235] PCI: drivers/pci/search.c::pci_find_bus(0, 2) [ 19.453233] PCI: drivers/pci/search.c::pci_find_next_bus(0) [ 19.457234] PCI: drivers/pci/search.c::pci_find_next_bus(F5462800) [ 19.461235] PCI: drivers/pci/search.c::pci_do_find_bus(bus, 2) [ 19.465234] PCI: drivers/pci/search.c::pci_do_find_bus()=NULL [ 19.469235] PCI: drivers/pci/search.c::pci_find_next_bus(F5462800) [ 19.473235] PCI: drivers/pci/search.c::pci_find_next_bus(0) [ 19.477234] PCI: drivers/pci/search.c::pci_find_bus()=NULL [ 19.481239] device: 'pci0000:02': device_add [ 19.485255] PM: Adding info for No Bus:pci0000:02 [ 19.489241] device: '0000:02': device_add [ 19.493261] PM: Adding info for No Bus:0000:02 [ 19.497312] PCI: drivers/pci/probe.c::pci_create_bus()=F5462C00 So it appears the issue is caused by an interaction with the i450NX fix-up code in: arch/x86/pci/fixup.c::pci_fixup_i450nx() I've been looking at the git commit logs for this (formerly known as arch/i386/pci/fixup.c) and the ACPI/PCI source files but so far haven't noticed anything that wouls explain this - certainly not between v2.6.20 and v2.6.22. I think this is the point where the experts need to get involved. -- Configure bugmail: http://bugzilla.kernel.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is. ------------------------------------------------------------------------- This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone _______________________________________________ acpi-bugzilla mailing list acpi-bugzilla@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/acpi-bugzilla