]> git.hungrycats.org Git - linux/commitdiff
ixgbe: fix for 82599 erratum on Header Splitting
authorDon Skidmore <donald.c.skidmore@intel.com>
Tue, 18 Jan 2011 22:53:47 +0000 (22:53 +0000)
committerAK <andi@firstfloor.org>
Thu, 31 Mar 2011 18:58:20 +0000 (11:58 -0700)
commit a124339ad28389093ed15eca990d39c51c5736cc upstream.

We have found a hardware erratum on 82599 hardware that can lead to
unpredictable behavior when Header Splitting mode is enabled.  So
we are no longer enabling this feature on affected hardware.

Please see the 82599 Specification Update for more information.

Signed-off-by: Don Skidmore <donald.c.skidmore@intel.com>
Tested-by: Stephen Ko <stephen.s.ko@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
drivers/net/ixgbe/ixgbe_main.c

index 649c8678d3437da604331fcea57fca8d5d7a63c5..778243720649cded98803ae52cd40b026a820fa5 100644 (file)
@@ -2658,6 +2658,10 @@ static void ixgbe_configure_rx(struct ixgbe_adapter *adapter)
        if (!adapter->num_vfs)
                adapter->flags |= IXGBE_FLAG_RX_PS_ENABLED;
 
+       /* Disable packet split due to 82599 erratum #45 */
+       if (hw->mac.type == ixgbe_mac_82599EB)
+               adapter->flags &= ~IXGBE_FLAG_RX_PS_ENABLED;
+
        /* Set the RX buffer length according to the mode */
        if (adapter->flags & IXGBE_FLAG_RX_PS_ENABLED) {
                rx_buf_len = IXGBE_RX_HDR_SIZE;