sfc: Use MCDI RX_BAD_FCS_PKTS count as MAC rx_bad count
authorBen Hutchings <bhutchings@solarflare.com>
Fri, 10 Sep 2010 06:41:00 +0000 (06:41 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 10 Sep 2010 19:27:29 +0000 (12:27 -0700)
Calculating rx_bad as rx_packets - rx_good is unnecessary and
incorrect, since rx_good does not include control frames (e.g.
pause frames) and rx_packets does.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/sfc/siena.c

index 3fab030f8ab5508aa191dd5cc2d1b7b69a935fd8..9f5368049694d18d9cf39faab3eb5526a0799420 100644 (file)
@@ -450,7 +450,7 @@ static int siena_try_update_nic_stats(struct efx_nic *efx)
                                    mac_stats->rx_bad_bytes);
        MAC_STAT(rx_packets, RX_PKTS);
        MAC_STAT(rx_good, RX_GOOD_PKTS);
-       mac_stats->rx_bad = mac_stats->rx_packets - mac_stats->rx_good;
+       MAC_STAT(rx_bad, RX_BAD_FCS_PKTS);
        MAC_STAT(rx_pause, RX_PAUSE_PKTS);
        MAC_STAT(rx_control, RX_CONTROL_PKTS);
        MAC_STAT(rx_unicast, RX_UNICAST_PKTS);