diff options
author | Bjorn Helgaas <bhelgaas@google.com> | 2013-06-07 14:24:00 -0600 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2013-06-07 14:24:00 -0600 |
commit | 5899309c90971d5418abc4bf370bee871ff6072c (patch) | |
tree | 331b7922d0f3995110e130aa731dd7b2fbfea135 /drivers/acpi | |
parent | bb4bac9308bf8df5027dcbf27f1016104e3a504f (diff) | |
parent | 081d0fe0ef60c258b67428a8fdf2d14f8ce392ef (diff) | |
download | op-kernel-dev-5899309c90971d5418abc4bf370bee871ff6072c.zip op-kernel-dev-5899309c90971d5418abc4bf370bee871ff6072c.tar.gz |
Merge branch 'pci/betty-aer-v3' into next
* pci/betty-aer-v3:
PCI/AER: Reset link for devices below Root Port or Downstream Port
ACPI / APEI: Force fatal AER severity when component has been reset
PCI/AER: Remove "extern" from function declarations
PCI/AER: Move AER severity defines to aer.h
PCI/AER: Set dev->__aer_firmware_first only for matching devices
PCI/AER: Factor out HEST device type matching
PCI/AER: Don't parse HEST table for non-PCIe devices
Diffstat (limited to 'drivers/acpi')
-rw-r--r-- | drivers/acpi/apei/ghes.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c index d668a8a..ab31551 100644 --- a/drivers/acpi/apei/ghes.c +++ b/drivers/acpi/apei/ghes.c @@ -449,9 +449,19 @@ static void ghes_do_proc(struct ghes *ghes, pcie_err->validation_bits & CPER_PCIE_VALID_AER_INFO) { unsigned int devfn; int aer_severity; + devfn = PCI_DEVFN(pcie_err->device_id.device, pcie_err->device_id.function); aer_severity = cper_severity_to_aer(sev); + + /* + * If firmware reset the component to contain + * the error, we must reinitialize it before + * use, so treat it as a fatal AER error. + */ + if (gdata->flags & CPER_SEC_RESET) + aer_severity = AER_FATAL; + aer_recover_queue(pcie_err->device_id.segment, pcie_err->device_id.bus, devfn, aer_severity); |