04 Mar, 2017

1 commit


15 Sep, 2016

2 commits

  • Per the PCI Firmware spec, r3.0, sec 4.5.1, on ACPI systems, the OS must
    not use AER unless _OSC is present and _OSC grants AER control to the OS.
    The aerdriver.forceload kernel parameter was a way to enable Linux AER
    support on ACPI systems that lack _OSC or fail to grant control the the OS.

    Enabling Linux AER support when the firmware doesn't want us to is a recipe
    for problems, e.g., the firmware might be handling AER itself.

    Remove the aerdriver.forceload kernel parameter and related supporting
    code.

    Signed-off-by: Bjorn Helgaas

    Bjorn Helgaas
     
  • The aerdriver.nosourceid kernel parameter was intended for working around
    broken chipsets don't supply the source ID for AER events. We recently
    added PCI_BUS_FLAGS_NO_AERSID, which can be set by quirks for the same
    purpose.

    Remove the aerdriver.nosourceid kernel parameter. For anything other than
    debugging, asking users to find and use kernel parameters is a poor user
    experience. Instead, we should add PCI_BUS_FLAGS_NO_AERSID quirks for any
    hardware that needs it.

    Signed-off-by: Bjorn Helgaas

    Bjorn Helgaas
     

20 Mar, 2015

1 commit


12 May, 2010

2 commits

  • I noticed that when I inject a fatal error to an endpoint via
    aer-inject, aer_root_reset() is called as reset_link for a
    downstream port at upstream of the endpoint:

    pcieport 0000:00:06.0: AER: Uncorrected (Fatal) error received: id=5401
    :
    pcieport 0000:52:02.0: Root Port link has been reset

    It externally appears to be working, but internally issues some
    accesses to PCI_ERR_ROOT_COMMAND/STATUS registers that is for
    root port so not available on downstream port.

    This patch introduces default_downstream_reset_link that is
    a version of aer_root_reset() with no accesses to root port's
    register. It is used for downstream ports that has no reset_link
    function its specific.

    This patch also updates related description in pcieaer-howto.txt.
    Some minor fixes are included.

    Signed-off-by: Hidetoshi Seto
    Reviewed-by: Kenji Kaneshige
    Signed-off-by: Jesse Barnes

    Hidetoshi Seto
     
  • Follow new format.

    Signed-off-by: Hidetoshi Seto
    Reviewed-by: Kenji Kaneshige
    Signed-off-by: Jesse Barnes

    Hidetoshi Seto
     

17 Jun, 2009

3 commits

  • Debugging PCIE AER code can be very difficult because it is hard
    to trigger various real hardware errors. This patch provide a
    software based error injection tool, which can fake various PCIE
    errors with a user space helper tool named "aer-inject". Which
    can be gotten from:

    http://www.kernel.org/pub/linux/kernel/people/yhuang/

    The patch fakes AER error by faking some PCIE AER related
    registers and an AER interrupt for specified the PCIE device.

    Signed-off-by: Huang Ying
    Signed-off-by: Jesse Barnes

    Huang Ying
     
  • When the bus id part of error source id is equal to 0 or nosourceid=1,
    make the kernel probe the AER status registers of all devices under the
    root port to find the initial error reporter.

    Reviewed-by: Andrew Patterson
    Signed-off-by: Zhang Yanmin
    Signed-off-by: Jesse Barnes

    Zhang, Yanmin
     
  • This patch adds a minimal HOWTO for PCIE AER software error injection
    in Documentation/PCI/pcieaer-howto.txt.

    Signed-off-by: Huang Ying
    Signed-off-by: Jesse Barnes

    Huang Ying
     

21 Oct, 2008

1 commit

  • The 'use pci_find_ext_capability everywhere' cleanup brought a new bug,
    which makes the AER stop working. Fix it by actually using find_ext_cap
    instead of just find_cap. Drop the unused config space size define while
    we're at it.

    Signed-off-by: Yu Zhao
    Signed-off-by: Jesse Barnes

    Yu Zhao
     

21 Apr, 2008

1 commit