Subject: patch for ixgbe-3.3.9 (out-of-tree) driver.

From: Ben Greear <[email-masked]>
Date: Wed, 01 Jun 2011 10:50:25 -0700

Using 'ethtool -t ethX' with 82598 chipset causes
kernel splats because spin-lock wasn't initialized properly.
This can probably cause other problems, but I'm not certain
of that.

I can't tell that anyone actually watches the sourceforge list,
so posting it here...

The reason I'm using the out-of-tree driver is that a customer
reports link bouncing when using the 82598 NIC.  They are stuck
on a .34 kernel at the moment, so maybe it's fixed upstream already.
At any rate, I can't reproduce the problem locally, but the 3.3.9
driver appears to work for them.

Thanks,
Ben

-- 
Ben Greear <[email-masked]>
Candela Technologies Inc  http://www.candelatech.com

--- ixgbe-3.3.9/src/ixgbe_main.c	2011-04-19 16:06:31.000000000 -0700
+++ ixgbe-3.3.9.ben/src/ixgbe_main.c	2011-06-01 10:31:23.163839562 -0700
@@ -5843,16 +5843,18 @@
 			adapter->flags |= IXGBE_FLAG_SRIOV_CAPABLE;
 		if (hw->device_id == IXGBE_DEV_ID_82599_T3_LOM)
 			adapter->flags2 |= IXGBE_FLAG2_TEMP_SENSOR_CAPABLE;
-#ifdef NETIF_F_NTUPLE
-		/* n-tuple support exists, always init our spinlock */
-		spin_lock_init(&adapter->fdir_perfect_lock);
-#endif /* NETIF_F_NTUPLE */
 		adapter->max_msix_q_vectors = IXGBE_MAX_MSIX_Q_VECTORS_82599;
 		break;
 	default:
 		break;
 	}
-	/* Default DCB settings, if applicable */
+
+#ifdef NETIF_F_NTUPLE
+        /* n-tuple support exists, always init our spinlock */
+        spin_lock_init(&adapter->fdir_perfect_lock);
+#endif /* NETIF_F_NTUPLE */
+
+        /* Default DCB settings, if applicable */
 	adapter->ring_feature[RING_F_DCB].indices = 8;
 
 	if (adapter->flags & IXGBE_FLAG_DCB_CAPABLE) {