Dear Bjorn, In message <CAErSpo53GpzdinvmQNX=DfJSsTUOzKng6LT1jrDSM8aU1ZUJiA@xxxxxxxxxxxxxx> you wrote: > Shaohua, your commit 8e822df700 references a VIA chipset with a Root > Port under a bridge, and that commit adds a special case to disable > ASPM for that situation. > > I know this is pretty old (the commit is from 2009), but do you have > any more details about that system? A pointer to the original problem > report, lspci output, dmesg output, etc.? > > I'm concerned because other parts of PCI make assumptions about Root > Port topology, e.g., in MPS configuration, and we might need to make > similar changes elsewhere. I apologize for the long delay - I was on vacation. I digged out this stuff from my local archive. [Note: I don't have that board any more, so I cannot help running any tests.] ------- Forwarded Message To: Shaohua Li <shaohua.li@xxxxxxxxx> cc: Andrew Patterson <andrew.patterson@xxxxxx>, Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx>, Greg Kroah-Hartman <gregkh@xxxxxxx>, Thomas Gleixner <tglx@xxxxxxxxxxxxx> Subject: commit d2da924f causes kernel panic From: Wolfgang Denk <wd@xxxxxxx> Date: Fri, 05 Jun 2009 10:49:21 +0200 Hi, I have an Athlon 64 system which does not boot any more with recent kernels. Bisecting shows this commit as culprit: $ git bisect bad d2da924fad2d44f5b0be87f9b7edc791e347de7c is first bad commit commit d2da924fad2d44f5b0be87f9b7edc791e347de7c Author: Shaohua Li <shaohua.li@xxxxxxxxx> Date: Fri Dec 19 09:27:42 2008 +0800 PCI: keep ASPM link state consistent throughout PCIe hierarchy commit 46bbdfa44cfc0d352148a0dc33ba9f6db02ccdf0 upstream. In a PCIe hierarchy with a switch present, if the link state of an endpoint device is changed, we must check the whole hierarchy from the endpoint device to root port, and for each link in the hierarchy, the new link state should be configured. Previously, the implementation checked the state but forgot to configure the links between root port to switch. Fixes Novell bz #448987. Signed-off-by: Shaohua Li <shaohua.li@xxxxxxxxx> Tested-by: Andrew Patterson <andrew.patterson@xxxxxx> Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> :040000 040000 72d29d00ac8046a10dd9ba5ec8a130ae872c4c4f 0e0509009a04f388598159dfa592dae2103c69b0 M drivers The crash is always reproducable and looks like this: ... No dock devices found. ACPI: bus type pci registered PCI: MCFG configuration 0: base e0000000 segment 0 buses 0 - 255 PCI: MCFG area at e0000000 reserved in E820 PCI: Using MMCONFIG for extended config space PCI: Using configuration type 1 for base access ACPI: Interpreter enabled ACPI: (supports S0 S1 S3 S4 S5) ACPI: Using IOAPIC for interrupt routing ACPI: PCI Root Bridge [PCI0] (0000:00) pci 0000:00:02.0: PME# supported from D0 D3hot D3cold pci 0000:00:02.0: PME# disabled pci 0000:00:03.0: PME# supported from D0 D3hot D3cold pci 0000:00:03.0: PME# disabled pci 0000:00:0f.0: PME# supported from D3hot pci 0000:00:0f.0: PME# disabled pci 0000:00:10.0: PME# supported from D0 D1 D2 D3hot D3cold pci 0000:00:10.0: PME# disabled pci 0000:00:10.1: PME# supported from D0 D1 D2 D3hot D3cold pci 0000:00:10.1: PME# disabled pci 0000:00:10.2: PME# supported from D0 D1 D2 D3hot D3cold pci 0000:00:10.2: PME# disabled pci 0000:00:10.3: PME# supported from D0 D1 D2 D3hot D3cold pci 0000:00:10.3: PME# disabled pci 0000:00:10.4: PME# supported from D0 D1 D2 D3hot D3cold pci 0000:00:10.4: PME# disabled pci 0000:00:12.0: PME# supported from D0 D1 D2 D3hot D3cold pci 0000:00:12.0: PME# disabled pci 0000:04:00.0: PME# supported from D0 D3hot D3cold pci 0000:04:00.0: PME# disabled pci 0000:04:00.1: PME# supported from D0 D3hot D3cold pci 0000:04:00.1: PME# disabled pci 0000:04:01.0: PME# supported from D0 D3hot D3cold pci 0000:04:01.0: PME# disabled pci 0000:06:00.0: PME# supported from D0 D1 D2 D3hot D3cold pci 0000:06:00.0: PME# disabled Pre-1.1 PCIe device detected, disable ASPM for 0000:04:00.1. It can be enabled forcedly with 'pcie_aspm=force' BUG: unable to handle kernel NULL pointer dereference at 00000054 IP: [<c052a0a7>] pcie_aspm_init_link_state+0x140/0x5e5 *pde = 00000000 Oops: 0000 [#1] SMP Modules linked in: Pid: 1, comm: swapper Not tainted (2.6.27.12-00018-gd2da924 #12) EIP: 0060:[<c052a0a7>] EFLAGS: 00010286 CPU: 0 EIP is at pcie_aspm_init_link_state+0x140/0x5e5 EAX: 00000000 EBX: f788b8f8 ECX: f788c800 EDX: f785d540 ESI: f785d55c EDI: f788b800 EBP: f782fd5c ESP: f782fce8 DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 Process swapper (pid: 1, ti=f782f000 task=f7848000 task.ti=f782f000) Stack: f788c8f8 f785d540 a000c8f8 ffffffea c0775372 f788c800 f782fd24 c07da2c0 f782fd10 c041f5aa f782fd18 c06a5bb2 f788c800 f783f400 f788c824 f782fd34 c0523d63 f788c826 f788c800 f782fd5c c0697bd9 f783f400 0000003e 00000200 Call Trace: [<c041f5aa>] ? need_resched+0x18/0x22 [<c06a5bb2>] ? _cond_resched+0x8/0x32 [<c0523d63>] ? pci_device_add+0x99/0x9d [<c0697bd9>] ? pci_scan_single_device+0x45e/0x46c [<c0523dea>] ? pci_scan_slot+0x5b/0x63 [<c0699a46>] ? pci_scan_child_bus+0x1d/0x78 [<c0697771>] ? pci_add_new_bus+0xf8/0x102 [<c0699832>] ? pci_scan_bridge+0x11d/0x314 [<c0699a7f>] ? pci_scan_child_bus+0x56/0x78 [<c0699832>] ? pci_scan_bridge+0x11d/0x314 [<c0699a7f>] ? pci_scan_child_bus+0x56/0x78 [<c0699abb>] ? pci_scan_bus_parented+0x1a/0x24 [<c069e3dd>] ? pci_acpi_scan_root+0x9e/0x1ae [<c069b06a>] ? acpi_pci_root_add+0x1da/0x29f [<c055c791>] ? acpi_device_probe+0x42/0x84 [<c0593604>] ? driver_probe_device+0xa0/0x136 [<c05936d4>] ? __driver_attach+0x3a/0x59 [<c059302b>] ? bus_for_each_dev+0x3b/0x63 [<c05934a9>] ? driver_attach+0x14/0x16 [<c059369a>] ? __driver_attach+0x0/0x59 [<c0592a9f>] ? bus_add_driver+0x9d/0x1ba [<c059385b>] ? driver_register+0x81/0xe1 [<c055ca6b>] ? acpi_bus_register_driver+0x3a/0x3f [<c082c515>] ? acpi_pci_root_init+0x16/0x25 [<c0401125>] ? _stext+0x3d/0x115 [<c082c4ff>] ? acpi_pci_root_init+0x0/0x25 [<c0463e80>] ? register_irq_proc+0x92/0xae [<c0463ed9>] ? init_irq_proc+0x3d/0x4a [<c080c2ed>] ? kernel_init+0x102/0x150 [<c080c1eb>] ? kernel_init+0x0/0x150 [<c040573f>] ? kernel_thread_helper+0x7/0x10 ======================= Code: 8b 55 90 88 42 0c 89 d6 89 d0 83 c0 14 83 c6 1c 89 42 14 89 42 18 89 72 1c 89 72 20 8b 47 08 83 78 1c 00 74 2c 8b 40 08 8b 40 1c <8b> 58 54 85 db 75 0c 89 d0 e8 15 20 f6 ff e9 76 04 00 00 8b 4b EIP: [<c052a0a7>] pcie_aspm_init_link_state+0x140/0x5e5 SS:ESP 0068:f782fce8 ---[ end trace 4eaa2a86a8e2da22 ]--- Kernel panic - not syncing: Attempted to kill init! (Short) lspci output of the system: $ lspci 00:00.0 Host bridge: VIA Technologies, Inc. K8T890CF Host Bridge 00:00.1 Host bridge: VIA Technologies, Inc. VT3351 Host Bridge 00:00.2 Host bridge: VIA Technologies, Inc. VT3351 Host Bridge 00:00.3 Host bridge: VIA Technologies, Inc. VT3351 Host Bridge 00:00.4 Host bridge: VIA Technologies, Inc. VT3351 Host Bridge 00:00.5 PIC: VIA Technologies, Inc. VT3351 I/O APIC Interrupt Controller 00:00.7 Host bridge: VIA Technologies, Inc. VT3351 Host Bridge 00:01.0 PCI bridge: VIA Technologies, Inc. [K8T890 North / VT8237 South] PCI Bridge 00:02.0 PCI bridge: VIA Technologies, Inc. K8T890 PCI to PCI Bridge Controller 00:03.0 PCI bridge: VIA Technologies, Inc. K8T890 PCI to PCI Bridge Controller 00:0f.0 SATA controller: VIA Technologies, Inc. VT8251 AHCI/SATA 4-Port Controller 00:0f.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 07) 00:10.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 90) 00:10.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 90) 00:10.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 90) 00:10.3 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 90) 00:10.4 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 90) 00:11.0 ISA bridge: VIA Technologies, Inc. VT8251 PCI to ISA Bridge 00:11.7 Host bridge: VIA Technologies, Inc. VT8251 Ultra VLINK Controller 00:12.0 Ethernet controller: VIA Technologies, Inc. VT6102 [Rhine-II] (rev 7c) 00:13.0 PCI bridge: VIA Technologies, Inc. VT8251 Host Bridge 00:13.1 PCI bridge: VIA Technologies, Inc. VT8251 PCI to PCI Bridge 00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration 00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map 00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller 00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control 02:00.0 VGA compatible controller: ATI Technologies Inc RV610 video device [Radeon HD 2400 PRO] 02:00.1 Audio device: ATI Technologies Inc RV610 audio device [Radeon HD 2400 PRO] 04:00.0 PCI bridge: VIA Technologies, Inc. VT8251 PCIE Root Port 04:00.1 PCI bridge: VIA Technologies, Inc. VT8251 PCIE Root Port 04:01.0 Audio device: VIA Technologies, Inc. VT1708/A [Azalia HDAC] (VIA High Definition Audio Controller) 06:00.0 Ethernet controller: SysKonnect SK-9E21D 10/100/1000Base-T Adapter, Copper RJ-45 (rev 17) 07:0c.0 Network controller: Tiger Jet Network Inc. Tiger3XX Modem/ISDN interface 07:0d.0 Mass storage controller: Promise Technology, Inc. 20269 (rev 02) More detailed information can be found in the attached tarball: lspci-vv-xxx.out - output of "lspci -vv -xxx" on the system 2.6.27.12-00017-gd10bdc8.log - complete boot log of the last working version 2.6.27.12-00018-gd2da924.log - complete boot log of the first failing version Any idea whay might be going wrong on this system? If you need any additional information please let me know, I'll be happy to run any tests you might suggest. Thanks in advance. Best regards, Wolfgang Denk ------- End of Forwarded Message Hope this helps. Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@xxxxxxx The world is coming to an end -- save your buffers!
Attachment:
logs.tar.gz
Description: logs.tar.gz