|
@@ -4681,11 +4681,13 @@ void igb_update_stats(struct igb_adapter *adapter,
|
|
|
bytes = 0;
|
|
|
packets = 0;
|
|
|
for (i = 0; i < adapter->num_rx_queues; i++) {
|
|
|
- u32 rqdpc_tmp = rd32(E1000_RQDPC(i)) & 0x0FFF;
|
|
|
+ u32 rqdpc = rd32(E1000_RQDPC(i));
|
|
|
struct igb_ring *ring = adapter->rx_ring[i];
|
|
|
|
|
|
- ring->rx_stats.drops += rqdpc_tmp;
|
|
|
- net_stats->rx_fifo_errors += rqdpc_tmp;
|
|
|
+ if (rqdpc) {
|
|
|
+ ring->rx_stats.drops += rqdpc;
|
|
|
+ net_stats->rx_fifo_errors += rqdpc;
|
|
|
+ }
|
|
|
|
|
|
do {
|
|
|
start = u64_stats_fetch_begin_bh(&ring->rx_syncp);
|