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>
This commit is contained in:
parent
d2b0f6f77e
commit
63796558d4
|
@ -745,6 +745,11 @@ static int ioda_eeh_next_error(struct eeh_pe **pe)
|
|||
* If we can't find the corresponding PE, the
|
||||
* PEEV / PEST would be messy. So we force an
|
||||
* fenced PHB so that it can be recovered.
|
||||
*
|
||||
* If the PE has been marked as isolated, that
|
||||
* should have been removed permanently or in
|
||||
* progress with recovery. We needn't report
|
||||
* it again.
|
||||
*/
|
||||
if (ioda_eeh_get_pe(hose, frozen_pe_no, pe)) {
|
||||
*pe = phb_pe;
|
||||
|
@ -753,6 +758,8 @@ static int ioda_eeh_next_error(struct eeh_pe **pe)
|
|||
hose->global_number,
|
||||
frozen_pe_no);
|
||||
ret = EEH_NEXT_ERR_FENCED_PHB;
|
||||
} else if ((*pe)->state & EEH_PE_ISOLATED) {
|
||||
ret = EEH_NEXT_ERR_NONE;
|
||||
} else {
|
||||
pr_err("EEH: Frozen PE#%x on PHB#%x detected\n",
|
||||
(*pe)->addr, (*pe)->phb->global_number);
|
||||
|
|
Loading…
Reference in a new issue