aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGavin Shan <gwshan@linux.vnet.ibm.com>2015-10-15 00:22:35 -0400
committerMichael Ellerman <mpe@ellerman.id.au>2015-10-21 05:42:16 -0400
commit353169acf1858bb2dc3f91475dafabce547de14c (patch)
tree67c051037992e6ef1543c2ab5686cb7640cb3275
parentf9433718d6aaecb162639e88150f18367e3ca8f5 (diff)
powerpc/eeh: Fix recursive fenced PHB on Broadcom shiner adapter
Similar to commit b6541db ("powerpc/eeh: Block PCI config access upon frozen PE"), this blocks the PCI config space of Broadcom Shiner adapter until PE reset is completed, to avoid recursive fenced PHB when dumping PCI config registers during the period of error recovery. ~# lspci -ns 0003:03:00.0 0003:03:00.0 0200: 14e4:168a (rev 10) ~# lspci -s 0003:03:00.0 0003:03:00.0 Ethernet controller: Broadcom Corporation \ NetXtreme II BCM57800 1/10 Gigabit Ethernet (rev 10) Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
-rw-r--r--arch/powerpc/platforms/powernv/eeh-powernv.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/powerpc/platforms/powernv/eeh-powernv.c b/arch/powerpc/platforms/powernv/eeh-powernv.c
index d62007f94372..e1c90725522a 100644
--- a/arch/powerpc/platforms/powernv/eeh-powernv.c
+++ b/arch/powerpc/platforms/powernv/eeh-powernv.c
@@ -427,11 +427,14 @@ static void *pnv_eeh_probe(struct pci_dn *pdn, void *data)
427 * that PE to block its config space. 427 * that PE to block its config space.
428 * 428 *
429 * Broadcom Austin 4-ports NICs (14e4:1657) 429 * Broadcom Austin 4-ports NICs (14e4:1657)
430 * Broadcom Shiner 4-ports 1G NICs (14e4:168a)
430 * Broadcom Shiner 2-ports 10G NICs (14e4:168e) 431 * Broadcom Shiner 2-ports 10G NICs (14e4:168e)
431 */ 432 */
432 if ((pdn->vendor_id == PCI_VENDOR_ID_BROADCOM && 433 if ((pdn->vendor_id == PCI_VENDOR_ID_BROADCOM &&
433 pdn->device_id == 0x1657) || 434 pdn->device_id == 0x1657) ||
434 (pdn->vendor_id == PCI_VENDOR_ID_BROADCOM && 435 (pdn->vendor_id == PCI_VENDOR_ID_BROADCOM &&
436 pdn->device_id == 0x168a) ||
437 (pdn->vendor_id == PCI_VENDOR_ID_BROADCOM &&
435 pdn->device_id == 0x168e)) 438 pdn->device_id == 0x168e))
436 edev->pe->state |= EEH_PE_CFG_RESTRICTED; 439 edev->pe->state |= EEH_PE_CFG_RESTRICTED;
437 440