Sam Bobroff <sbobr...@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

Reply via email to