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.d...@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 majord...@vger.kernel.org
> 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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to