powerpc/eeh: differentiate duplicate detection message
authorSam Bobroff <sbobroff@linux.ibm.com>
Thu, 17 Oct 2019 04:59:37 +0000 (15:59 +1100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 4 Jan 2020 18:18:10 +0000 (19:18 +0100)
[ Upstream commit de84ffc3ccbeec3678f95a3d898fc188efa0d9c5 ]

Currently when an EEH error is detected, the system log receives the
same (or almost the same) message twice:

  EEH: PHB#0 failure detected, location: N/A
  EEH: PHB#0 failure detected, location: N/A
or
  EEH: eeh_dev_check_failure: Frozen PHB#0-PE#0 detected
  EEH: Frozen PHB#0-PE#0 detected

This looks like a bug, but in fact the messages are from different
functions and mean slightly different things.  So keep both but change
one of the messages slightly, so that it's clear they are different:

  EEH: PHB#0 failure detected, location: N/A
  EEH: Recovering PHB#0, location: N/A
or
  EEH: eeh_dev_check_failure: Frozen PHB#0-PE#0 detected
  EEH: Recovering PHB#0-PE#0

Signed-off-by: Sam Bobroff <sbobroff@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/43817cb6e6631b0828b9a6e266f60d1f8ca8eb22.1571288375.git.sbobroff@linux.ibm.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/powerpc/kernel/eeh_driver.c

index d9279d0ee9f54f368da84feb75c75bb6b9467011..c031be8d41ffdc9712944309313d581b5a9bcaaa 100644 (file)
@@ -897,12 +897,12 @@ void eeh_handle_normal_event(struct eeh_pe *pe)
 
        /* Log the event */
        if (pe->type & EEH_PE_PHB) {
-               pr_err("EEH: PHB#%x failure detected, location: %s\n",
+               pr_err("EEH: Recovering PHB#%x, location: %s\n",
                        pe->phb->global_number, eeh_pe_loc_get(pe));
        } else {
                struct eeh_pe *phb_pe = eeh_phb_pe_get(pe->phb);
 
-               pr_err("EEH: Frozen PHB#%x-PE#%x detected\n",
+               pr_err("EEH: Recovering PHB#%x-PE#%x\n",
                       pe->phb->global_number, pe->addr);
                pr_err("EEH: PE location: %s, PHB location: %s\n",
                       eeh_pe_loc_get(pe), eeh_pe_loc_get(phb_pe));