ixgbe: Fix a set_num_queues() bug that can result in num_(r|t)x_queues = 0
authorPeter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Sat, 7 Feb 2009 10:16:59 +0000 (02:16 -0800)
committerDavid S. Miller <davem@davemloft.net>
Sat, 7 Feb 2009 10:16:59 +0000 (02:16 -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>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ixgbe/ixgbe_main.c

index 8e270b63e8064d88c27f26ee9717c302b2cad8fc..a3572d1e0a9acf54268f88aa77f88191668397ea 100644 (file)
@@ -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;
        }