]> git.ipfire.org Git - thirdparty/kernel/stable.git/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)
committerJiri Slaby <jslaby@suse.cz>
Thu, 9 Apr 2015 11:14:12 +0000 (13:14 +0200)
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>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c

index b42f89ce02ef5997fa46e57a9521b0873968d7b7..237a5611d3f69891fd0bf0600659eaa4e70c3bc0 100644 (file)
@@ -12236,6 +12236,10 @@ static int bnx2x_init_dev(struct bnx2x *bp, 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.