Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > 27922b4260f65d317aabda37e42bbbff > files > 2702

kernel-2.6.18-238.el5.src.rpm

From: Stefan Assmann <sassmann@redhat.com>
Date: Fri, 26 Feb 2010 10:50:26 -0500
Subject: [net] igb: fix DCA support for 82580 NICs
Message-id: <4B87A772.7040300@redhat.com>
Patchwork-id: 23445
O-Subject: [RHEL 5.5 PATCH] igb: fix DCA support for 82580 NICs
Bugzilla: 513712
RH-Acked-by: David S. Miller <davem@redhat.com>
RH-Acked-by: Jiri Pirko <jpirko@redhat.com>
RH-Acked-by: Andy Gospodarek <gospo@redhat.com>

Bugzilla:
https://bugzilla.redhat.com/show_bug.cgi?id=513712

Description:
82580 NICs weren't properly taken into account for DCA handling.

Upstream Status:
Not an upstream issue.

Brew Build:
http://brewweb.devel.redhat.com/brew/taskinfo?taskID=2287035

Test Status:
Tested by Intel only, we don't have the hw.

  Stefan

diff --git a/drivers/net/igb/igb_main.c b/drivers/net/igb/igb_main.c
index a570003..f4a2833 100644
--- a/drivers/net/igb/igb_main.c
+++ b/drivers/net/igb/igb_main.c
@@ -4067,7 +4067,7 @@ static void igb_update_rx_dca(struct igb_ring *rx_ring)
 
 	if (rx_ring->cpu != cpu) {
 		dca_rxctrl = rd32(E1000_DCA_RXCTRL(q));
-		if (hw->mac.type == e1000_82576) {
+		if (hw->mac.type >= e1000_82576) {
 			dca_rxctrl &= ~E1000_DCA_RXCTRL_CPUID_MASK_82576;
 			dca_rxctrl |= dca3_get_tag(&adapter->pdev->dev, cpu) <<
 			              E1000_DCA_RXCTRL_CPUID_SHIFT;
@@ -4094,7 +4094,7 @@ static void igb_update_tx_dca(struct igb_ring *tx_ring)
 
 	if (tx_ring->cpu != cpu) {
 		dca_txctrl = rd32(E1000_DCA_TXCTRL(q));
-		if (hw->mac.type == e1000_82576) {
+		if (hw->mac.type >= e1000_82576) {
 			dca_txctrl &= ~E1000_DCA_TXCTRL_CPUID_MASK_82576;
 			dca_txctrl |= dca3_get_tag(&adapter->pdev->dev, cpu) <<
 			              E1000_DCA_TXCTRL_CPUID_SHIFT;