Commit 63796558d469d72ab081b266466d115755ba7085

Authored by Gavin Shan
Committed by Benjamin Herrenschmidt
1 parent d2b0f6f77e

powerpc/powernv: Fix endless reporting frozen PE

Once one specific PE has been marked as EEH_PE_ISOLATED, it's in
the middile of recovery or removed permenently. We needn't report
the frozen PE again. Otherwise, we will have endless reporting
same frozen PE.

Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>

Showing 1 changed file with 7 additions and 0 deletions Side-by-side Diff

arch/powerpc/platforms/powernv/eeh-ioda.c
... ... @@ -745,6 +745,11 @@
745 745 * If we can't find the corresponding PE, the
746 746 * PEEV / PEST would be messy. So we force an
747 747 * fenced PHB so that it can be recovered.
  748 + *
  749 + * If the PE has been marked as isolated, that
  750 + * should have been removed permanently or in
  751 + * progress with recovery. We needn't report
  752 + * it again.
748 753 */
749 754 if (ioda_eeh_get_pe(hose, frozen_pe_no, pe)) {
750 755 *pe = phb_pe;
... ... @@ -753,6 +758,8 @@
753 758 hose->global_number,
754 759 frozen_pe_no);
755 760 ret = EEH_NEXT_ERR_FENCED_PHB;
  761 + } else if ((*pe)->state & EEH_PE_ISOLATED) {
  762 + ret = EEH_NEXT_ERR_NONE;
756 763 } else {
757 764 pr_err("EEH: Frozen PE#%x on PHB#%x detected\n",
758 765 (*pe)->addr, (*pe)->phb->global_number);