提交 3e450669 编写于 作者: P Peter P Waskiewicz Jr 提交者: David S. Miller

ixgbe: Fix a set_num_queues() bug that can result in num_(r|t)x_queues = 0

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: NPeter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 2813ddd1
......@@ -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;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册