|
@@ -127,10 +127,20 @@ static const struct igb_stats igb_gstrings_net_stats[] = {
|
|
|
#define IGB_STATS_LEN \
|
|
|
(IGB_GLOBAL_STATS_LEN + IGB_NETDEV_STATS_LEN + IGB_QUEUE_STATS_LEN)
|
|
|
|
|
|
+enum igb_diagnostics_results {
|
|
|
+ TEST_REG = 0,
|
|
|
+ TEST_EEP,
|
|
|
+ TEST_IRQ,
|
|
|
+ TEST_LOOP,
|
|
|
+ TEST_LINK
|
|
|
+};
|
|
|
+
|
|
|
static const char igb_gstrings_test[][ETH_GSTRING_LEN] = {
|
|
|
- "Register test (offline)", "Eeprom test (offline)",
|
|
|
- "Interrupt test (offline)", "Loopback test (offline)",
|
|
|
- "Link test (on/offline)"
|
|
|
+ [TEST_REG] = "Register test (offline)",
|
|
|
+ [TEST_EEP] = "Eeprom test (offline)",
|
|
|
+ [TEST_IRQ] = "Interrupt test (offline)",
|
|
|
+ [TEST_LOOP] = "Loopback test (offline)",
|
|
|
+ [TEST_LINK] = "Link test (on/offline)"
|
|
|
};
|
|
|
#define IGB_TEST_LEN (sizeof(igb_gstrings_test) / ETH_GSTRING_LEN)
|
|
|
|
|
@@ -2002,7 +2012,7 @@ static void igb_diag_test(struct net_device *netdev,
|
|
|
/* Link test performed before hardware reset so autoneg doesn't
|
|
|
* interfere with test result
|
|
|
*/
|
|
|
- if (igb_link_test(adapter, &data[4]))
|
|
|
+ if (igb_link_test(adapter, &data[TEST_LINK]))
|
|
|
eth_test->flags |= ETH_TEST_FL_FAILED;
|
|
|
|
|
|
if (if_running)
|
|
@@ -2011,21 +2021,21 @@ static void igb_diag_test(struct net_device *netdev,
|
|
|
else
|
|
|
igb_reset(adapter);
|
|
|
|
|
|
- if (igb_reg_test(adapter, &data[0]))
|
|
|
+ if (igb_reg_test(adapter, &data[TEST_REG]))
|
|
|
eth_test->flags |= ETH_TEST_FL_FAILED;
|
|
|
|
|
|
igb_reset(adapter);
|
|
|
- if (igb_eeprom_test(adapter, &data[1]))
|
|
|
+ if (igb_eeprom_test(adapter, &data[TEST_EEP]))
|
|
|
eth_test->flags |= ETH_TEST_FL_FAILED;
|
|
|
|
|
|
igb_reset(adapter);
|
|
|
- if (igb_intr_test(adapter, &data[2]))
|
|
|
+ if (igb_intr_test(adapter, &data[TEST_IRQ]))
|
|
|
eth_test->flags |= ETH_TEST_FL_FAILED;
|
|
|
|
|
|
igb_reset(adapter);
|
|
|
/* power up link for loopback test */
|
|
|
igb_power_up_link(adapter);
|
|
|
- if (igb_loopback_test(adapter, &data[3]))
|
|
|
+ if (igb_loopback_test(adapter, &data[TEST_LOOP]))
|
|
|
eth_test->flags |= ETH_TEST_FL_FAILED;
|
|
|
|
|
|
/* restore speed, duplex, autoneg settings */
|
|
@@ -2045,16 +2055,16 @@ static void igb_diag_test(struct net_device *netdev,
|
|
|
dev_info(&adapter->pdev->dev, "online testing starting\n");
|
|
|
|
|
|
/* PHY is powered down when interface is down */
|
|
|
- if (if_running && igb_link_test(adapter, &data[4]))
|
|
|
+ if (if_running && igb_link_test(adapter, &data[TEST_LINK]))
|
|
|
eth_test->flags |= ETH_TEST_FL_FAILED;
|
|
|
else
|
|
|
- data[4] = 0;
|
|
|
+ data[TEST_LINK] = 0;
|
|
|
|
|
|
/* Online tests aren't run; pass by default */
|
|
|
- data[0] = 0;
|
|
|
- data[1] = 0;
|
|
|
- data[2] = 0;
|
|
|
- data[3] = 0;
|
|
|
+ data[TEST_REG] = 0;
|
|
|
+ data[TEST_EEP] = 0;
|
|
|
+ data[TEST_IRQ] = 0;
|
|
|
+ data[TEST_LOOP] = 0;
|
|
|
|
|
|
clear_bit(__IGB_TESTING, &adapter->state);
|
|
|
}
|