Revert "bnx2x: allow nvram test to run when device is down"
authorDmitry Kravkov <dmitry@broadcom.com>
Tue, 30 Apr 2013 10:24:42 +0000 (10:24 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 30 Apr 2013 23:00:25 +0000 (19:00 -0400)
This reverts commit d2d2d87dfd1a25ee270994c5b9e3eb4690428d32
("bnx2x: allow nvram test to run when device is down").

Since it makes access to the device in D3 state possible.
More work is required to make sure device is not set to D3
during ifdown. Until this is done the nvram-test should simply
exit if device is down like it did before.

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>
drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c

index 397537bb44483cd2ce4a0de546a7d93d2b794cb8..ce1a91618677c13e232f4b017485722857e35520 100644 (file)
@@ -2867,16 +2867,9 @@ static void bnx2x_self_test(struct net_device *dev,
 
        memset(buf, 0, sizeof(u64) * BNX2X_NUM_TESTS(bp));
 
-       if (bnx2x_test_nvram(bp) != 0) {
-               if (!IS_MF(bp))
-                       buf[4] = 1;
-               else
-                       buf[0] = 1;
-               etest->flags |= ETH_TEST_FL_FAILED;
-       }
-
        if (!netif_running(dev)) {
-               DP(BNX2X_MSG_ETHTOOL, "Interface is down\n");
+               DP(BNX2X_MSG_ETHTOOL,
+                  "Can't perform self-test when interface is down\n");
                return;
        }
 
@@ -2938,7 +2931,13 @@ static void bnx2x_self_test(struct net_device *dev,
                /* wait until link state is restored */
                bnx2x_wait_for_link(bp, link_up, is_serdes);
        }
-
+       if (bnx2x_test_nvram(bp) != 0) {
+               if (!IS_MF(bp))
+                       buf[4] = 1;
+               else
+                       buf[0] = 1;
+               etest->flags |= ETH_TEST_FL_FAILED;
+       }
        if (bnx2x_test_intr(bp) != 0) {
                if (!IS_MF(bp))
                        buf[5] = 1;