On Thu, May 30, 2013 at 08:39:28AM -0600, Betty Dall wrote: > Date: Thu, 30 May 2013 08:39:28 -0600 > From: Betty Dall <betty.dall@xxxxxx> > To: rjw@xxxxxxx, bhelgaas@xxxxxxxxxx > Cc: ying.huang@xxxxxxxxx, linux-acpi@xxxxxxxxxxxxxxx, > linux-kernel@xxxxxxxxxxxxxxx, linux-pci@xxxxxxxxxxxxxxx, Betty Dall > <betty.dall@xxxxxx> > Subject: [PATCH v2 2/3] ACPI/APEI: Force fatal AER severity when bus has > been reset > X-Mailer: git-send-email 1.7.7.6 > > 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. > > Changes since v1: > Fixed a typo in comment. > > Signed-off-by: Betty Dall <betty.dall@xxxxxx> > --- > > 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..1c67d5a 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 Descriptor 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); > + > + How about this? if (gdata->flags & CPER_SEC_RESET) sev = CPER_SEV_FATAL; 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-acpi" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html
Attachment:
signature.asc
Description: Digital signature