e1000e: 82574/82583 Tx hang workaround
authorBruce Allan <bruce.w.allan@intel.com>
Fri, 16 Dec 2011 00:46:22 +0000 (00:46 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Thu, 26 Jan 2012 07:13:21 +0000 (23:13 -0800)
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>
drivers/net/ethernet/intel/e1000e/82571.c

index a3e65fd..0609ac6 100644 (file)
@@ -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;
        }