Move the check for the driver resetting to the first thing
in ibmvnic_xmit().

Signed-off-by: Nathan Fontenot <nf...@linux.vnet.ibm.com>
---
 drivers/net/ethernet/ibm/ibmvnic.c |   12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/net/ethernet/ibm/ibmvnic.c 
b/drivers/net/ethernet/ibm/ibmvnic.c
index 4da7080..2cf1b64 100644
--- a/drivers/net/ethernet/ibm/ibmvnic.c
+++ b/drivers/net/ethernet/ibm/ibmvnic.c
@@ -985,12 +985,6 @@ static int ibmvnic_xmit(struct sk_buff *skb, struct 
net_device *netdev)
        int index = 0;
        int ret = 0;
 
-       tx_pool = &adapter->tx_pool[queue_num];
-       tx_scrq = adapter->tx_scrq[queue_num];
-       txq = netdev_get_tx_queue(netdev, skb_get_queue_mapping(skb));
-       handle_array = (u64 *)((u8 *)(adapter->login_rsp_buf) +
-                                  be32_to_cpu(adapter->login_rsp_buf->
-                                              off_txsubm_subcrqs));
        if (adapter->resetting) {
                if (!netif_subqueue_stopped(netdev, skb))
                        netif_stop_subqueue(netdev, queue_num);
@@ -1002,6 +996,12 @@ static int ibmvnic_xmit(struct sk_buff *skb, struct 
net_device *netdev)
                goto out;
        }
 
+       tx_pool = &adapter->tx_pool[queue_num];
+       tx_scrq = adapter->tx_scrq[queue_num];
+       txq = netdev_get_tx_queue(netdev, skb_get_queue_mapping(skb));
+       handle_array = (u64 *)((u8 *)(adapter->login_rsp_buf) +
+               be32_to_cpu(adapter->login_rsp_buf->off_txsubm_subcrqs));
+
        index = tx_pool->free_map[tx_pool->consumer_index];
        offset = index * adapter->req_mtu;
        dst = tx_pool->long_term_buff.buff + offset;

Reply via email to