[PATCH 07/13] powerpc/eeh: Clean up pci_ers_result handling
Michael Ellerman
mpe at ellerman.id.au
Fri May 4 12:58:55 AEST 2018
Sam Bobroff <sbobroff at linux.ibm.com> writes:
> diff --git a/arch/powerpc/kernel/eeh_driver.c b/arch/powerpc/kernel/eeh_driver.c
> index 188d15c4fe3a..f33dd68a9ca2 100644
> --- a/arch/powerpc/kernel/eeh_driver.c
> +++ b/arch/powerpc/kernel/eeh_driver.c
> @@ -39,6 +39,29 @@ struct eeh_rmv_data {
> int removed;
> };
>
> +static int eeh_result_priority(enum pci_ers_result result)
> +{
> + switch (result) {
> + case PCI_ERS_RESULT_NONE: return 0;
> + case PCI_ERS_RESULT_NO_AER_DRIVER: return 1;
> + case PCI_ERS_RESULT_RECOVERED: return 2;
> + case PCI_ERS_RESULT_CAN_RECOVER: return 3;
> + case PCI_ERS_RESULT_DISCONNECT: return 4;
> + case PCI_ERS_RESULT_NEED_RESET: return 5;
> + default:
> + WARN_ONCE(1, "Unknown pci_ers_result value");
> + return 0;
> + }
> +};
> +
> +static enum pci_ers_result merge_result(enum pci_ers_result old,
> + enum pci_ers_result new)
> +{
> + if (eeh_result_priority(new) > eeh_result_priority(old))
> + return new;
> + return old;
max() ?
cheers
More information about the Linuxppc-dev
mailing list