diff options
author | Sam Bobroff <sbobroff@linux.ibm.com> | 2018-05-25 06:11:34 +0300 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2018-06-03 13:43:39 +0300 |
commit | 30424e386a30d1160a0fdf47beafe8b116d0a8f7 (patch) | |
tree | 3a09b0713b003110f5ed08b887932017402409da /arch/powerpc/include/asm/eeh.h | |
parent | 2eae39f29b10038601ddc36dae346cd79c96faa1 (diff) | |
download | linux-30424e386a30d1160a0fdf47beafe8b116d0a8f7.tar.xz |
powerpc/eeh: Clean up pci_ers_result handling
As EEH event handling progresses, a cumulative result of type
pci_ers_result is built up by (some of) the eeh_report_*() functions
using either:
if (rc == PCI_ERS_RESULT_NEED_RESET) *res = rc;
if (*res == PCI_ERS_RESULT_NONE) *res = rc;
or:
if ((*res == PCI_ERS_RESULT_NONE) ||
(*res == PCI_ERS_RESULT_RECOVERED)) *res = rc;
if (*res == PCI_ERS_RESULT_DISCONNECT &&
rc == PCI_ERS_RESULT_NEED_RESET) *res = rc;
(Where *res is the accumulator.)
However, the intent is not immediately clear and the result in some
situations is order dependent.
Address this by assigning a priority to each result value, and always
merging to the highest priority. This renders the intent clear, and
provides a stable value for all orderings.
Signed-off-by: Sam Bobroff <sbobroff@linux.ibm.com>
[mpe: Minor formatting (clang-format)]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc/include/asm/eeh.h')
0 files changed, 0 insertions, 0 deletions