Message ID | 1369766929-4386-3-git-send-email-betty.dall@hp.com (mailing list archive) |
---|---|
State | New, archived |
Delegated to: | Bjorn Helgaas |
Headers | show |
On 05/28/2013 12:48 PM, Betty Dall wrote: > The CPER error record has a reset bit that indicates that the platform > has reset the bus. The reset bit can be set for any severity error > including recoverable. From the AER code path's perspective, > any error is fatal if the bus has been reset. This patch upgrades the > severity of the AER recovery to AER_FATAL whenever the CPER error record > indicates that the bus has been reset. > > Signed-off-by: Betty Dall <betty.dall@hp.com> > --- > > drivers/acpi/apei/ghes.c | 21 ++++++++++++++++++++- > 1 files changed, 20 insertions(+), 1 deletions(-) > > > diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c > index d668a8a..4a42afc 100644 > --- a/drivers/acpi/apei/ghes.c > +++ b/drivers/acpi/apei/ghes.c > @@ -451,7 +451,26 @@ static void ghes_do_proc(struct ghes *ghes, > int aer_severity; > devfn = PCI_DEVFN(pcie_err->device_id.device, > pcie_err->device_id.function); > - aer_severity = cper_severity_to_aer(sev); > + /* > + * Some Firmware First implementations > + * put the device in SBR to contain > + * the error. This is indicated by the > + * CPER Section Decriptor Flags reset Nit Pick, change "Decriptor" to "Descriptor". -- Greg > + * bit which means the component must > + * be re-initialized or re-enabled > + * prior to use. Promoting the AER > + * serverity to FATAL will cause the > + * AER code to link_reset and allow > + * drivers to reprogram their cards. > + */ > + if (gdata->flags & CPER_SEC_RESET) > + aer_severity = cper_severity_to_aer( > + CPER_SEV_FATAL); > + else > + aer_severity = > + cper_severity_to_aer(sev); > + > + > aer_recover_queue(pcie_err->device_id.segment, > pcie_err->device_id.bus, > devfn, aer_severity); > -- > To unsubscribe from this list: send the line "unsubscribe linux-pci" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > > -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Wed, 2013-05-29 at 09:42 -0600, Pearson, Greg wrote: > On 05/28/2013 12:48 PM, Betty Dall wrote: > > The CPER error record has a reset bit that indicates that the platform > > has reset the bus. The reset bit can be set for any severity error > > including recoverable. From the AER code path's perspective, > > any error is fatal if the bus has been reset. This patch upgrades the > > severity of the AER recovery to AER_FATAL whenever the CPER error record > > indicates that the bus has been reset. > > > > Signed-off-by: Betty Dall <betty.dall@hp.com> > > --- > > > > drivers/acpi/apei/ghes.c | 21 ++++++++++++++++++++- > > 1 files changed, 20 insertions(+), 1 deletions(-) > > > > > > diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c > > index d668a8a..4a42afc 100644 > > --- a/drivers/acpi/apei/ghes.c > > +++ b/drivers/acpi/apei/ghes.c > > @@ -451,7 +451,26 @@ static void ghes_do_proc(struct ghes *ghes, > > int aer_severity; > > devfn = PCI_DEVFN(pcie_err->device_id.device, > > pcie_err->device_id.function); > > - aer_severity = cper_severity_to_aer(sev); > > + /* > > + * Some Firmware First implementations > > + * put the device in SBR to contain > > + * the error. This is indicated by the > > + * CPER Section Decriptor Flags reset > > Nit Pick, change "Decriptor" to "Descriptor". > > -- > Greg I will fix that. Thanks. -Betty > > + * bit which means the component must > > + * be re-initialized or re-enabled > > + * prior to use. Promoting the AER > > + * serverity to FATAL will cause the > > + * AER code to link_reset and allow > > + * drivers to reprogram their cards. > > + */ > > + if (gdata->flags & CPER_SEC_RESET) > > + aer_severity = cper_severity_to_aer( > > + CPER_SEV_FATAL); > > + else > > + aer_severity = > > + cper_severity_to_aer(sev); > > + > > + > > aer_recover_queue(pcie_err->device_id.segment, > > pcie_err->device_id.bus, > > devfn, aer_severity); > > -- > > To unsubscribe from this list: send the line "unsubscribe linux-pci" in > > the body of a message to majordomo@vger.kernel.org > > More majordomo info at http://vger.kernel.org/majordomo-info.html > > > > -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c index d668a8a..4a42afc 100644 --- a/drivers/acpi/apei/ghes.c +++ b/drivers/acpi/apei/ghes.c @@ -451,7 +451,26 @@ static void ghes_do_proc(struct ghes *ghes, int aer_severity; devfn = PCI_DEVFN(pcie_err->device_id.device, pcie_err->device_id.function); - aer_severity = cper_severity_to_aer(sev); + /* + * Some Firmware First implementations + * put the device in SBR to contain + * the error. This is indicated by the + * CPER Section Decriptor Flags reset + * bit which means the component must + * be re-initialized or re-enabled + * prior to use. Promoting the AER + * serverity to FATAL will cause the + * AER code to link_reset and allow + * drivers to reprogram their cards. + */ + if (gdata->flags & CPER_SEC_RESET) + aer_severity = cper_severity_to_aer( + CPER_SEV_FATAL); + else + aer_severity = + cper_severity_to_aer(sev); + + aer_recover_queue(pcie_err->device_id.segment, pcie_err->device_id.bus, devfn, aer_severity);
The CPER error record has a reset bit that indicates that the platform has reset the bus. The reset bit can be set for any severity error including recoverable. From the AER code path's perspective, any error is fatal if the bus has been reset. This patch upgrades the severity of the AER recovery to AER_FATAL whenever the CPER error record indicates that the bus has been reset. Signed-off-by: Betty Dall <betty.dall@hp.com> --- drivers/acpi/apei/ghes.c | 21 ++++++++++++++++++++- 1 files changed, 20 insertions(+), 1 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html