aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/broadcom
diff options
context:
space:
mode:
authorDmitry Kravkov <dmitry@broadcom.com>2013-04-21 23:48:10 -0400
committerDavid S. Miller <davem@davemloft.net>2013-04-22 15:34:40 -0400
commitd2d2d87dfd1a25ee270994c5b9e3eb4690428d32 (patch)
treec27080e175ddcf3c3d2a2e680bb3be7502482a07 /drivers/net/ethernet/broadcom
parentedb944d27b15c08063fdb62eaae6c377e7865e6d (diff)
bnx2x: allow nvram test to run when device is down
Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com> Signed-off-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/broadcom')
-rw-r--r--drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c
index f07021bcb85e..88e9b47a3eb6 100644
--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c
+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c
@@ -2864,9 +2864,16 @@ static void bnx2x_self_test(struct net_device *dev,
2864 2864
2865 memset(buf, 0, sizeof(u64) * BNX2X_NUM_TESTS(bp)); 2865 memset(buf, 0, sizeof(u64) * BNX2X_NUM_TESTS(bp));
2866 2866
2867 if (bnx2x_test_nvram(bp) != 0) {
2868 if (!IS_MF(bp))
2869 buf[4] = 1;
2870 else
2871 buf[0] = 1;
2872 etest->flags |= ETH_TEST_FL_FAILED;
2873 }
2874
2867 if (!netif_running(dev)) { 2875 if (!netif_running(dev)) {
2868 DP(BNX2X_MSG_ETHTOOL, 2876 DP(BNX2X_MSG_ETHTOOL, "Interface is down\n");
2869 "Can't perform self-test when interface is down\n");
2870 return; 2877 return;
2871 } 2878 }
2872 2879
@@ -2928,13 +2935,7 @@ static void bnx2x_self_test(struct net_device *dev,
2928 /* wait until link state is restored */ 2935 /* wait until link state is restored */
2929 bnx2x_wait_for_link(bp, link_up, is_serdes); 2936 bnx2x_wait_for_link(bp, link_up, is_serdes);
2930 } 2937 }
2931 if (bnx2x_test_nvram(bp) != 0) { 2938
2932 if (!IS_MF(bp))
2933 buf[4] = 1;
2934 else
2935 buf[0] = 1;
2936 etest->flags |= ETH_TEST_FL_FAILED;
2937 }
2938 if (bnx2x_test_intr(bp) != 0) { 2939 if (bnx2x_test_intr(bp) != 0) {
2939 if (!IS_MF(bp)) 2940 if (!IS_MF(bp))
2940 buf[5] = 1; 2941 buf[5] = 1;