diff options
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/slip.c | 29 | ||||
-rw-r--r-- | drivers/net/slip.h | 9 |
2 files changed, 14 insertions, 24 deletions
diff --git a/drivers/net/slip.c b/drivers/net/slip.c index f11b3f3df24f..cbe8865e322a 100644 --- a/drivers/net/slip.c +++ b/drivers/net/slip.c @@ -562,34 +562,33 @@ static struct rtnl_link_stats64 * sl_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) { struct net_device_stats *devstats = &dev->stats; - unsigned long c_rx_dropped = 0; #ifdef SL_INCLUDE_CSLIP - unsigned long c_rx_fifo_errors = 0; - unsigned long c_tx_fifo_errors = 0; - unsigned long c_collisions = 0; struct slip *sl = netdev_priv(dev); struct slcompress *comp = sl->slcomp; - - if (comp) { - c_rx_fifo_errors = comp->sls_i_compressed; - c_rx_dropped = comp->sls_i_tossed; - c_tx_fifo_errors = comp->sls_o_compressed; - c_collisions = comp->sls_o_misses; - } - stats->rx_fifo_errors = sl->rx_compressed + c_rx_fifo_errors; - stats->tx_fifo_errors = sl->tx_compressed + c_tx_fifo_errors; - stats->collisions = sl->tx_misses + c_collisions; #endif stats->rx_packets = devstats->rx_packets; stats->tx_packets = devstats->tx_packets; stats->rx_bytes = devstats->rx_bytes; stats->tx_bytes = devstats->tx_bytes; - stats->rx_dropped = devstats->rx_dropped + c_rx_dropped; + stats->rx_dropped = devstats->rx_dropped; stats->tx_dropped = devstats->tx_dropped; stats->tx_errors = devstats->tx_errors; stats->rx_errors = devstats->rx_errors; stats->rx_over_errors = devstats->rx_over_errors; +#ifdef SL_INCLUDE_CSLIP + if (comp) { + /* Generic compressed statistics */ + stats->rx_compressed = comp->sls_i_compressed; + stats->tx_compressed = comp->sls_o_compressed; + + /* Are we really still needs this? */ + stats->rx_fifo_errors += comp->sls_i_compressed; + stats->rx_dropped += comp->sls_i_tossed; + stats->tx_fifo_errors += comp->sls_o_compressed; + stats->collisions += comp->sls_o_misses; + } +#endif return stats; } diff --git a/drivers/net/slip.h b/drivers/net/slip.h index aa0764ce2342..67673cf1266b 100644 --- a/drivers/net/slip.h +++ b/drivers/net/slip.h @@ -65,15 +65,6 @@ struct slip { unsigned char *xbuff; /* transmitter buffer */ unsigned char *xhead; /* pointer to next byte to XMIT */ int xleft; /* bytes left in XMIT queue */ - - /* SLIP interface statistics. */ -#ifdef SL_INCLUDE_CSLIP - unsigned long tx_compressed; - unsigned long rx_compressed; - unsigned long tx_misses; -#endif - /* Detailed SLIP statistics. */ - int mtu; /* Our mtu (to spot changes!) */ int buffsize; /* Max buffers sizes */ |