Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Gavin Shan and committed by
Michael Ellerman
353169ac f9433718

+3
+3
arch/powerpc/platforms/powernv/eeh-powernv.c
··· 427 427 * that PE to block its config space. 428 428 * 429 429 * Broadcom Austin 4-ports NICs (14e4:1657) 430 + * Broadcom Shiner 4-ports 1G NICs (14e4:168a) 430 431 * Broadcom Shiner 2-ports 10G NICs (14e4:168e) 431 432 */ 432 433 if ((pdn->vendor_id == PCI_VENDOR_ID_BROADCOM && 433 434 pdn->device_id == 0x1657) || 435 + (pdn->vendor_id == PCI_VENDOR_ID_BROADCOM && 436 + pdn->device_id == 0x168a) || 434 437 (pdn->vendor_id == PCI_VENDOR_ID_BROADCOM && 435 438 pdn->device_id == 0x168e)) 436 439 edev->pe->state |= EEH_PE_CFG_RESTRICTED;