]> git.itanic.dy.fi Git - linux-stable/commitdiff
bnx2x: Force fundamental reset for EEH recovery
authorBrian King <brking@linux.vnet.ibm.com>
Wed, 4 Mar 2015 14:09:44 +0000 (08:09 -0600)
committerSasha Levin <sasha.levin@oracle.com>
Sat, 28 Mar 2015 13:50:49 +0000 (09:50 -0400)
[ Upstream commit da293700568ed3d96fcf062ac15d7d7c41377f11 ]

EEH recovery for bnx2x based adapters is not reliable on all Power
systems using the default hot reset, which can result in an
unrecoverable EEH error. Forcing the use of fundamental reset
during EEH recovery fixes this.

Cc: stable<stable@vger.kernel.org>
Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c

index 74fbf9ea7bd878e4ee3f7d1561f4b74afe46ca54..710eb5793eb38f6779db12390efb0b489caf5b03 100644 (file)
@@ -12711,6 +12711,9 @@ static int bnx2x_init_dev(struct bnx2x *bp, struct pci_dev *pdev,
        pci_write_config_dword(bp->pdev, PCICFG_GRC_ADDRESS,
                               PCICFG_VENDOR_ID_OFFSET);
 
+       /* Set PCIe reset type to fundamental for EEH recovery */
+       pdev->needs_freset = 1;
+
        /* AER (Advanced Error reporting) configuration */
        rc = pci_enable_pcie_error_reporting(pdev);
        if (!rc)