e1000e: always set transmit descriptor control registers the same
authorBruce Allan <bruce.w.allan@intel.com>
Fri, 16 Dec 2011 00:46:01 +0000 (00:46 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Thu, 26 Jan 2012 07:12:53 +0000 (23:12 -0800)
The hardware erratum workaround where the TXDCTL register must be the same
setting for both queues should always be done.

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/netdev.c

index ffe4583994d83204678c78e109fafdd0b74b04e0..6081dee5ce46de4b697f94a7e5d2fd9425f49d5c 100644 (file)
@@ -2817,9 +2817,9 @@ static void e1000_configure_tx(struct e1000_adapter *adapter)
                 */
                txdctl |= E1000_TXDCTL_DMA_BURST_ENABLE;
                ew32(TXDCTL(0), txdctl);
-               /* erratum work around: set txdctl the same for both queues */
-               ew32(TXDCTL(1), txdctl);
        }
+       /* erratum work around: set txdctl the same for both queues */
+       ew32(TXDCTL(1), er32(TXDCTL(0)));
 
        /* Program the Transmit Control Register */
        tctl = er32(TCTL);