diff mbox

[net-next] ixgbe: Fix a set_num_queues() bug that can result in num_(r|t)x_queues = 0

Message ID 20090207083257.15354.43853.stgit@lost.foo-projects.org
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

Kirsher, Jeffrey T Feb. 7, 2009, 8:33 a.m. UTC
From: PJ Waskiewicz <peter.p.waskiewicz.jr@intel.com>

Now that our set_num_queues() routines for each feature are re-entrant, and
can be called at any point, they shouldn't zero out the feature's indices
or mask bits.  Subsequent calls into those routines for those features can
result in zero Rx and Tx queues being assigned, causing a panic later in
driver reinitialization.

Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---

 drivers/net/ixgbe/ixgbe_main.c |    4 ----
 1 files changed, 0 insertions(+), 4 deletions(-)


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

Comments

David Miller Feb. 7, 2009, 10:17 a.m. UTC | #1
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Sat, 07 Feb 2009 00:33:02 -0800

> Now that our set_num_queues() routines for each feature are re-entrant, and
> can be called at any point, they shouldn't zero out the feature's indices
> or mask bits.  Subsequent calls into those routines for those features can
> result in zero Rx and Tx queues being assigned, causing a panic later in
> driver reinitialization.
> 
> Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>

Applied.
--
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
diff mbox

Patch

diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c
index 8e270b6..a3572d1 100644
--- a/drivers/net/ixgbe/ixgbe_main.c
+++ b/drivers/net/ixgbe/ixgbe_main.c
@@ -2350,8 +2350,6 @@  static inline bool ixgbe_set_dcb_queues(struct ixgbe_adapter *adapter)
 		                      adapter->ring_feature[RING_F_DCB].indices;
 		ret = true;
 	} else {
-		adapter->ring_feature[RING_F_DCB].mask = 0;
-		adapter->ring_feature[RING_F_DCB].indices = 0;
 		ret = false;
 	}
 
@@ -2371,8 +2369,6 @@  static inline bool ixgbe_set_rss_queues(struct ixgbe_adapter *adapter)
 		                      adapter->ring_feature[RING_F_RSS].indices;
 		ret = true;
 	} else {
-		adapter->ring_feature[RING_F_RSS].mask = 0;
-		adapter->ring_feature[RING_F_RSS].indices = 0;
 		ret = false;
 	}