From: Todd Fujinaka Date: Tue, 8 Apr 2014 05:36:15 +0000 (+0000) Subject: igb: fix stats for i210 rx_fifo_errors X-Git-Tag: v3.15-rc5~17^2~63^2~2 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=e66c083aab32842f225bae2a2c30744bf96abaec;p=~emulex%2Finfiniband.git igb: fix stats for i210 rx_fifo_errors RQDPC on i210/i211 is R/W not ReadClear. Clear after reading. Signed-off-by: Todd Fujinaka Tested-by: Aaron Brown Signed-off-by: Jeff Kirsher --- diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c index fb98d4602f9..16430a8440f 100644 --- a/drivers/net/ethernet/intel/igb/igb_main.c +++ b/drivers/net/ethernet/intel/igb/igb_main.c @@ -5193,8 +5193,10 @@ void igb_update_stats(struct igb_adapter *adapter, rcu_read_lock(); for (i = 0; i < adapter->num_rx_queues; i++) { - u32 rqdpc = rd32(E1000_RQDPC(i)); struct igb_ring *ring = adapter->rx_ring[i]; + u32 rqdpc = rd32(E1000_RQDPC(i)); + if (hw->mac.type >= e1000_i210) + wr32(E1000_RQDPC(i), 0); if (rqdpc) { ring->rx_stats.drops += rqdpc;