diff options
| -rw-r--r-- | drivers/net/ethernet/atheros/atl1e/atl1e_main.c | 30 |
1 files changed, 19 insertions, 11 deletions
diff --git a/drivers/net/ethernet/atheros/atl1e/atl1e_main.c b/drivers/net/ethernet/atheros/atl1e/atl1e_main.c index 7a73f3a9fcb5..d5c2d3e912e5 100644 --- a/drivers/net/ethernet/atheros/atl1e/atl1e_main.c +++ b/drivers/net/ethernet/atheros/atl1e/atl1e_main.c | |||
| @@ -1177,32 +1177,40 @@ static struct net_device_stats *atl1e_get_stats(struct net_device *netdev) | |||
| 1177 | struct atl1e_hw_stats *hw_stats = &adapter->hw_stats; | 1177 | struct atl1e_hw_stats *hw_stats = &adapter->hw_stats; |
| 1178 | struct net_device_stats *net_stats = &netdev->stats; | 1178 | struct net_device_stats *net_stats = &netdev->stats; |
| 1179 | 1179 | ||
| 1180 | net_stats->rx_packets = hw_stats->rx_ok; | ||
| 1181 | net_stats->tx_packets = hw_stats->tx_ok; | ||
| 1182 | net_stats->rx_bytes = hw_stats->rx_byte_cnt; | 1180 | net_stats->rx_bytes = hw_stats->rx_byte_cnt; |
| 1183 | net_stats->tx_bytes = hw_stats->tx_byte_cnt; | 1181 | net_stats->tx_bytes = hw_stats->tx_byte_cnt; |
| 1184 | net_stats->multicast = hw_stats->rx_mcast; | 1182 | net_stats->multicast = hw_stats->rx_mcast; |
| 1185 | net_stats->collisions = hw_stats->tx_1_col + | 1183 | net_stats->collisions = hw_stats->tx_1_col + |
| 1186 | hw_stats->tx_2_col * 2 + | 1184 | hw_stats->tx_2_col + |
| 1187 | hw_stats->tx_late_col + hw_stats->tx_abort_col; | 1185 | hw_stats->tx_late_col + |
| 1186 | hw_stats->tx_abort_col; | ||
| 1187 | |||
| 1188 | net_stats->rx_errors = hw_stats->rx_frag + | ||
| 1189 | hw_stats->rx_fcs_err + | ||
| 1190 | hw_stats->rx_len_err + | ||
| 1191 | hw_stats->rx_sz_ov + | ||
| 1192 | hw_stats->rx_rrd_ov + | ||
| 1193 | hw_stats->rx_align_err + | ||
| 1194 | hw_stats->rx_rxf_ov; | ||
| 1188 | 1195 | ||
| 1189 | net_stats->rx_errors = hw_stats->rx_frag + hw_stats->rx_fcs_err + | ||
| 1190 | hw_stats->rx_len_err + hw_stats->rx_sz_ov + | ||
| 1191 | hw_stats->rx_rrd_ov + hw_stats->rx_align_err; | ||
| 1192 | net_stats->rx_fifo_errors = hw_stats->rx_rxf_ov; | 1196 | net_stats->rx_fifo_errors = hw_stats->rx_rxf_ov; |
| 1193 | net_stats->rx_length_errors = hw_stats->rx_len_err; | 1197 | net_stats->rx_length_errors = hw_stats->rx_len_err; |
| 1194 | net_stats->rx_crc_errors = hw_stats->rx_fcs_err; | 1198 | net_stats->rx_crc_errors = hw_stats->rx_fcs_err; |
| 1195 | net_stats->rx_frame_errors = hw_stats->rx_align_err; | 1199 | net_stats->rx_frame_errors = hw_stats->rx_align_err; |
| 1196 | net_stats->rx_over_errors = hw_stats->rx_rrd_ov + hw_stats->rx_rxf_ov; | 1200 | net_stats->rx_dropped = hw_stats->rx_rrd_ov; |
| 1197 | 1201 | ||
| 1198 | net_stats->rx_missed_errors = hw_stats->rx_rrd_ov + hw_stats->rx_rxf_ov; | 1202 | net_stats->tx_errors = hw_stats->tx_late_col + |
| 1203 | hw_stats->tx_abort_col + | ||
| 1204 | hw_stats->tx_underrun + | ||
| 1205 | hw_stats->tx_trunc; | ||
| 1199 | 1206 | ||
| 1200 | net_stats->tx_errors = hw_stats->tx_late_col + hw_stats->tx_abort_col + | ||
| 1201 | hw_stats->tx_underrun + hw_stats->tx_trunc; | ||
| 1202 | net_stats->tx_fifo_errors = hw_stats->tx_underrun; | 1207 | net_stats->tx_fifo_errors = hw_stats->tx_underrun; |
| 1203 | net_stats->tx_aborted_errors = hw_stats->tx_abort_col; | 1208 | net_stats->tx_aborted_errors = hw_stats->tx_abort_col; |
| 1204 | net_stats->tx_window_errors = hw_stats->tx_late_col; | 1209 | net_stats->tx_window_errors = hw_stats->tx_late_col; |
| 1205 | 1210 | ||
| 1211 | net_stats->rx_packets = hw_stats->rx_ok + net_stats->rx_errors; | ||
| 1212 | net_stats->tx_packets = hw_stats->tx_ok + net_stats->tx_errors; | ||
| 1213 | |||
| 1206 | return net_stats; | 1214 | return net_stats; |
| 1207 | } | 1215 | } |
| 1208 | 1216 | ||
