aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/ethernet/intel/igb/igb_main.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
index 19d7666dfccb..246646b61a1a 100644
--- a/drivers/net/ethernet/intel/igb/igb_main.c
+++ b/drivers/net/ethernet/intel/igb/igb_main.c
@@ -4681,11 +4681,13 @@ void igb_update_stats(struct igb_adapter *adapter,
4681 bytes = 0; 4681 bytes = 0;
4682 packets = 0; 4682 packets = 0;
4683 for (i = 0; i < adapter->num_rx_queues; i++) { 4683 for (i = 0; i < adapter->num_rx_queues; i++) {
4684 u32 rqdpc_tmp = rd32(E1000_RQDPC(i)) & 0x0FFF; 4684 u32 rqdpc = rd32(E1000_RQDPC(i));
4685 struct igb_ring *ring = adapter->rx_ring[i]; 4685 struct igb_ring *ring = adapter->rx_ring[i];
4686 4686
4687 ring->rx_stats.drops += rqdpc_tmp; 4687 if (rqdpc) {
4688 net_stats->rx_fifo_errors += rqdpc_tmp; 4688 ring->rx_stats.drops += rqdpc;
4689 net_stats->rx_fifo_errors += rqdpc;
4690 }
4689 4691
4690 do { 4692 do {
4691 start = u64_stats_fetch_begin_bh(&ring->rx_syncp); 4693 start = u64_stats_fetch_begin_bh(&ring->rx_syncp);