Re: [PATCH v2 2/3] ACPI/APEI: Force fatal AER severity when bus hasbeen reset

From: Betty Dall
Date: Tue Jun 04 2013 - 12:21:24 EST


On Tue, 2013-06-04 at 03:53 -0400, Chen Gong wrote:
> 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);

Thanks for the review. I will make that change.

-Betty
>
> > 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


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/