Skip to content

Commit

Permalink
be2net: Fix error recovery paths
Browse files Browse the repository at this point in the history
When TX queues are created again after error recovery,
netif_set_real_num_tx_queues() is invoked to update number of real
TX queues created. rtnl lock needs to be held when invoking this routine.

Signed-off-by: Padmanabh Ratnakar <padmanabh.ratnakar@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Padmanabh Ratnakar authored and David S. Miller committed Nov 26, 2011
1 parent 590c391 commit 3bb62f4
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion drivers/net/ethernet/emulex/benet/be_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -1666,9 +1666,12 @@ static int be_tx_queues_create(struct be_adapter *adapter)
u8 i;

adapter->num_tx_qs = be_num_txqs_want(adapter);
if (adapter->num_tx_qs != MAX_TX_QS)
if (adapter->num_tx_qs != MAX_TX_QS) {
rtnl_lock();
netif_set_real_num_tx_queues(adapter->netdev,
adapter->num_tx_qs);
rtnl_unlock();
}

adapter->tx_eq.max_eqd = 0;
adapter->tx_eq.min_eqd = 0;
Expand Down

0 comments on commit 3bb62f4

Please sign in to comment.