aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet
diff options
context:
space:
mode:
authorBrian King <brking@linux.vnet.ibm.com>2015-03-04 08:09:44 -0600
committerBen Hutchings <ben@decadent.org.uk>2015-05-09 23:16:26 +0100
commit0add03ac75c406e0bfd90bf41b3b888999acf00e (patch)
tree4d1f7f578c33d0d025a8213ec82c9c31289b6961 /drivers/net/ethernet
parent0e20a057e0fa6245f8437ba763a66c8cc0b9fdf3 (diff)
downloadkernel_samsung_smdk4412-0add03ac75c406e0bfd90bf41b3b888999acf00e.zip
kernel_samsung_smdk4412-0add03ac75c406e0bfd90bf41b3b888999acf00e.tar.gz
kernel_samsung_smdk4412-0add03ac75c406e0bfd90bf41b3b888999acf00e.tar.bz2
bnx2x: Force fundamental reset for EEH recovery
commit da293700568ed3d96fcf062ac15d7d7c41377f11 upstream. 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. Signed-off-by: Brian King <brking@linux.vnet.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net> [bwh: Backported to 3.2: adjust context] Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Diffstat (limited to 'drivers/net/ethernet')
-rw-r--r--drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
index 2f6361e..1042935 100644
--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
@@ -10325,6 +10325,10 @@ static int __devinit bnx2x_init_dev(struct pci_dev *pdev,
/* clean indirect addresses */
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;
+
/*
* Clean the following indirect addresses for all functions since it
* is not used by the driver.