|
From: Wu F. <fen...@in...> - 2009-03-12 04:49:47
|
Move the update of real_num_tx_queues from ixgbe_acquire_msix_vectors() to
ixgbe_set_num_queues(), to ensure it be always in sync with num_rx_queues.
Signed-off-by: Wu Fengguang <fen...@in...>
---
drivers/net/ixgbe/ixgbe_main.c | 21 +++++++++++----------
1 file changed, 11 insertions(+), 10 deletions(-)
--- mm.orig/drivers/net/ixgbe/ixgbe_main.c
+++ mm/drivers/net/ixgbe/ixgbe_main.c
@@ -2666,17 +2666,21 @@ static inline bool ixgbe_set_rss_queues(
static void ixgbe_set_num_queues(struct ixgbe_adapter *adapter)
{
- /* Start with base case */
- adapter->num_rx_queues = 1;
- adapter->num_tx_queues = 1;
-
#ifdef CONFIG_IXGBE_DCB
if (ixgbe_set_dcb_queues(adapter))
- return;
-
+ goto done;
#endif
+
if (ixgbe_set_rss_queues(adapter))
- return;
+ goto done;
+
+ /* fallback to base case */
+ adapter->num_rx_queues = 1;
+ adapter->num_tx_queues = 1;
+
+done:
+ /* Notify the stack of the (possibly) reduced Tx Queue count. */
+ adapter->netdev->real_num_tx_queues = adapter->num_tx_queues;
}
static void ixgbe_acquire_msix_vectors(struct ixgbe_adapter *adapter,
@@ -2933,9 +2937,6 @@ try_msi:
}
out:
- /* Notify the stack of the (possibly) reduced Tx Queue count. */
- adapter->netdev->real_num_tx_queues = adapter->num_tx_queues;
-
return err;
}
|