Re: VIA chipset with Root Port under a bridge

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thanks a lot, Wolfgang!  I opened
https://bugzilla.kernel.org/show_bug.cgi?id=60864 as a place to attach
your logs and info.

Bjorn

Text to help search engines find this bug:
  8e822df700694ca6850d1e0c122fd7004b2778d8
  PCI: disable ASPM on VIA root-port-under-bridge configurations
  VIA has a strange chipset, root port is under a bridge

On Fri, Sep 6, 2013 at 7:07 AM, Wolfgang Denk <wd@xxxxxxx> wrote:
> 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!
>
--
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




[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux