aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBruce Allan <bruce.w.allan@intel.com>2011-12-16 00:46:22 +0000
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2012-01-25 23:13:21 -0800
commitd6cb17d5f8015717f6963d24d52b06292a4cb40a (patch)
tree46b6a9c4128ea3fb13e98e0b898ac408a9e7d887
parente1000e: use hardware default values for Transmit Control register (diff)
downloadlinux-dev-d6cb17d5f8015717f6963d24d52b06292a4cb40a.tar.xz
linux-dev-d6cb17d5f8015717f6963d24d52b06292a4cb40a.zip
e1000e: 82574/82583 Tx hang workaround
On 82574/82583, there is a hardware bug which might cause a Tx hang when the internal buffer is full. Setting this bit enables a hardware fix to work around the issue. Signed-off-by: Bruce Allan <bruce.w.allan@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
-rw-r--r--drivers/net/ethernet/intel/e1000e/82571.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/e1000e/82571.c b/drivers/net/ethernet/intel/e1000e/82571.c
index a3e65fd26e09..0609ac69bb38 100644
--- a/drivers/net/ethernet/intel/e1000e/82571.c
+++ b/drivers/net/ethernet/intel/e1000e/82571.c
@@ -1227,6 +1227,10 @@ static void e1000_initialize_hw_bits_82571(struct e1000_hw *hw)
case e1000_82572:
reg |= (1 << 23) | (1 << 24) | (1 << 25) | (1 << 26);
break;
+ case e1000_82574:
+ case e1000_82583:
+ reg |= (1 << 26);
+ break;
default:
break;
}