diff mbox

Trusty SRU - igb: fix stats for i210 rx_fifo_errors

Message ID 53BC15CB.80808@canonical.com
State New
Headers show

Commit Message

Tim Gardner July 8, 2014, 4:01 p.m. UTC

Comments

Brad Figg July 8, 2014, 4:13 p.m. UTC | #1
On 07/08/2014 05:01 PM, Tim Gardner wrote:
> 
> 
>
Tim Gardner July 8, 2014, 4:20 p.m. UTC | #2
Kamal - looks like a good candidate for stable.
diff mbox

Patch

From 96068a42e27395bba73f1d2d6a69babc08e04cc3 Mon Sep 17 00:00:00 2001
From: Todd Fujinaka <todd.fujinaka@intel.com>
Date: Tue, 8 Apr 2014 05:36:15 +0000
Subject: [PATCH] igb: fix stats for i210 rx_fifo_errors

BugLink: http://bugs.launchpad.net/bugs/1338893

RQDPC on i210/i211 is R/W not ReadClear. Clear after reading.

Signed-off-by: Todd Fujinaka <todd.fujinaka@intel.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
(cherry picked from commit e66c083aab32842f225bae2a2c30744bf96abaec)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
---
 drivers/net/ethernet/intel/igb/igb_main.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
index 8216825..7094bdc 100644
--- a/drivers/net/ethernet/intel/igb/igb_main.c
+++ b/drivers/net/ethernet/intel/igb/igb_main.c
@@ -4909,8 +4909,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;
-- 
2.0.1