OSDN Git Service

powerpc/powernv: Block PCI config access on BCM5718 during EEH recovery
authorGavin Shan <gwshan@linux.vnet.ibm.com>
Wed, 19 Apr 2017 04:46:24 +0000 (14:46 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 4 May 2017 00:57:56 +0000 (10:57 +1000)
Similar to what is done in commit b6541db13952 ("powerpc/eeh: Block
PCI config access upon frozen PE"), we need block PCI config access
for BCM5719 when recovering frozen error on them. Otherwise, an
unexpected recursive fenced PHB error is observed.

   0001:06:00.0 Ethernet controller: Broadcom Corporation \
                NetXtreme BCM5718 Gigabit Ethernet PCIe (rev 10)
   0001:06:00.1 Ethernet controller: Broadcom Corporation \
                NetXtreme BCM5718 Gigabit Ethernet PCIe (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 d2f1982..d12ea7b 100644 (file)
@@ -412,11 +412,14 @@ static void *pnv_eeh_probe(struct pci_dn *pdn, void *data)
         * been set for the PE, we will set EEH_PE_CFG_BLOCKED for
         * that PE to block its config space.
         *
+        * Broadcom BCM5718 2-ports NICs (14e4:1656)
         * 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 == 0x1656) ||
+           (pdn->vendor_id == PCI_VENDOR_ID_BROADCOM &&
             pdn->device_id == 0x1657) ||
            (pdn->vendor_id == PCI_VENDOR_ID_BROADCOM &&
             pdn->device_id == 0x168a) ||