summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorGavin Shan <gwshan@linux.vnet.ibm.com>2014-10-01 09:07:54 +0200
committerMichael Ellerman <mpe@ellerman.id.au>2014-10-15 02:27:21 +0200
commitc59004cc83c3f8b182c32ca9d366d222a59ab63f (patch)
treef376cfefd5d1eb0324ebdc4f95b62b2c8846a68f /arch
parentpowerpc/eeh: Block PCI config access upon frozen PE (diff)
downloadlinux-c59004cc83c3f8b182c32ca9d366d222a59ab63f.tar.xz
linux-c59004cc83c3f8b182c32ca9d366d222a59ab63f.zip
powerpc/eeh: Don't collect logs on PE with blocked config space
When the PE's config space is marked as blocked, PCI config read requests always return 0xFF's. It's pointless to collect logs in this case. Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch')
-rw-r--r--arch/powerpc/kernel/eeh.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/eeh.c b/arch/powerpc/kernel/eeh.c
index 4d83f50cc614..2248a1999c64 100644
--- a/arch/powerpc/kernel/eeh.c
+++ b/arch/powerpc/kernel/eeh.c
@@ -257,6 +257,13 @@ static void *eeh_dump_pe_log(void *data, void *flag)
struct eeh_dev *edev, *tmp;
size_t *plen = flag;
+ /* If the PE's config space is blocked, 0xFF's will be
+ * returned. It's pointless to collect the log in this
+ * case.
+ */
+ if (pe->state & EEH_PE_CFG_BLOCKED)
+ return NULL;
+
eeh_pe_for_each_dev(pe, edev, tmp)
*plen += eeh_dump_dev_log(edev, pci_regs_buf + *plen,
EEH_PCI_REGS_LOG_LEN - *plen);