qlcnic: Fix ordering of stats in stats buffer.
authorManish Chopra <manish.chopra@qlogic.com>
Mon, 22 Sep 2014 09:51:53 +0000 (05:51 -0400)
committerDavid S. Miller <davem@davemloft.net>
Fri, 26 Sep 2014 19:11:31 +0000 (15:11 -0400)
o When TX queues are not allocated, driver does not fill TX queues stats in the buffer.
  However, it is also not advancing data pointer by TX queue stats length, which would
  misplace all successive stats data in the buffer and will result in mismatch between
  stats strings and it's values.

o Fix this by advancing data pointer by TX queue stats length when
  queues are not allocated.

Signed-off-by: Manish Chopra <manish.chopra@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c

index 863c445..494e810 100644 (file)
@@ -1343,6 +1343,8 @@ static void qlcnic_get_ethtool_stats(struct net_device *dev,
                        tx_ring = &adapter->tx_ring[ring];
                        data = qlcnic_fill_tx_queue_stats(data, tx_ring);
                        qlcnic_update_stats(adapter);
+               } else {
+                       data += QLCNIC_TX_STATS_LEN;
                }
        }