qlge: Added missing case statement to ethtool get_strings.
authorJitendra Kalsaria <jitendra.kalsaria@qlogic.com>
Tue, 10 Jul 2012 14:57:35 +0000 (14:57 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 11 Jul 2012 06:28:33 +0000 (23:28 -0700)
Missing case was causing ethtool self test to print garbage
value in extra info section.

Signed-off-by: Jitendra Kalsaria <jitendra.kalsaria@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/qlogic/qlge/qlge_ethtool.c

index 3b0912fb53ab3a2b6defc4d89e6944eccb64736c..4c141da51a82f7f32dd6d87be20f705be3207fa7 100644 (file)
@@ -248,6 +248,9 @@ static char ql_stats_str_arr[][ETH_GSTRING_LEN] = {
 static void ql_get_strings(struct net_device *dev, u32 stringset, u8 *buf)
 {
        switch (stringset) {
+       case ETH_SS_TEST:
+               memcpy(buf, *ql_gstrings_test, QLGE_TEST_LEN * ETH_GSTRING_LEN);
+               break;
        case ETH_SS_STATS:
                memcpy(buf, ql_stats_str_arr, sizeof(ql_stats_str_arr));
                break;
@@ -531,6 +534,8 @@ static void ql_self_test(struct net_device *ndev,
 {
        struct ql_adapter *qdev = netdev_priv(ndev);
 
+       memset(data, 0, sizeof(u64) * QLGE_TEST_LEN);
+
        if (netif_running(ndev)) {
                set_bit(QL_SELFTEST, &qdev->flags);
                if (eth_test->flags == ETH_TEST_FL_OFFLINE) {