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 863c4456d2d190b74aefaa8c722c1cd29e6046be..494e8105adee7834341353ddc81cf65a70a33b9c 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;
                }
        }