powerpc/eeh: Fix recursive fenced PHB on Broadcom shiner adapter
authorGavin Shan <gwshan@linux.vnet.ibm.com>
Thu, 15 Oct 2015 04:22:35 +0000 (15:22 +1100)
committerMichael Ellerman <mpe@ellerman.id.au>
Wed, 21 Oct 2015 09:42:16 +0000 (20:42 +1100)
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>
arch/powerpc/platforms/powernv/eeh-powernv.c

index d62007f..e1c9072 100644 (file)
@@ -427,10 +427,13 @@ static void *pnv_eeh_probe(struct pci_dn *pdn, void *data)
         * that PE to block its config space.
         *
         * Broadcom Austin 4-ports NICs (14e4:1657)
+        * Broadcom Shiner 4-ports 1G NICs (14e4:168a)
         * Broadcom Shiner 2-ports 10G NICs (14e4:168e)
         */
        if ((pdn->vendor_id == PCI_VENDOR_ID_BROADCOM &&
             pdn->device_id == 0x1657) ||
+           (pdn->vendor_id == PCI_VENDOR_ID_BROADCOM &&
+            pdn->device_id == 0x168a) ||
            (pdn->vendor_id == PCI_VENDOR_ID_BROADCOM &&
             pdn->device_id == 0x168e))
                edev->pe->state |= EEH_PE_CFG_RESTRICTED;