|
@@ -2864,9 +2864,16 @@ 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,
|
|
|
- "Can't perform self-test when interface is down\n");
|
|
|
+ DP(BNX2X_MSG_ETHTOOL, "Interface is down\n");
|
|
|
return;
|
|
|
}
|
|
|
|
|
@@ -2928,13 +2935,7 @@ 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;
|