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

login
register
mail settings
Submitter Ben Greear
Date June 1, 2011, 5:50 p.m.
Message ID <4DE67BE1.3060704@candelatech.com>
Download mbox | patch
Permalink /patch/98231/
State Not Applicable
Delegated to: David Miller
Headers show

Comments

Ben Greear - June 1, 2011, 5:50 p.m.
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
Alexander Duyck - June 1, 2011, 8:17 p.m.
On 06/01/2011 10:50 AM, Ben Greear wrote:
> 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,

I will make certain this fix is incorporated into our ixgbe out-of-tree 
driver for the next release.

Thanks for the patch,

Alex
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

--- 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) {