aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNathan Fontenot <nfont@linux.vnet.ibm.com>2017-05-03 14:05:08 -0400
committerDavid S. Miller <davem@davemloft.net>2017-05-03 11:33:05 -0400
commit161b8a813877fb7d3deba6b3bd2731d4f4a75c5e (patch)
treec060f50efb85c60e164ca8bfb64a1b3dff8cfd4a
parent46293b940fede04f90aab18d4bfecc5bd942cf3a (diff)
ibmvnic: Check for driver reset first in ibmvnic_xmit
Move the check for the driver resetting to the first thing in ibmvnic_xmit(). Signed-off-by: Nathan Fontenot <nfont@linux.vnet.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/ethernet/ibm/ibmvnic.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/net/ethernet/ibm/ibmvnic.c b/drivers/net/ethernet/ibm/ibmvnic.c
index a312bc1fee6d..f1ee37716ad7 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)
985 int index = 0; 985 int index = 0;
986 int ret = 0; 986 int ret = 0;
987 987
988 tx_pool = &adapter->tx_pool[queue_num];
989 tx_scrq = adapter->tx_scrq[queue_num];
990 txq = netdev_get_tx_queue(netdev, skb_get_queue_mapping(skb));
991 handle_array = (u64 *)((u8 *)(adapter->login_rsp_buf) +
992 be32_to_cpu(adapter->login_rsp_buf->
993 off_txsubm_subcrqs));
994 if (adapter->resetting) { 988 if (adapter->resetting) {
995 if (!netif_subqueue_stopped(netdev, skb)) 989 if (!netif_subqueue_stopped(netdev, skb))
996 netif_stop_subqueue(netdev, queue_num); 990 netif_stop_subqueue(netdev, queue_num);
@@ -1002,6 +996,12 @@ static int ibmvnic_xmit(struct sk_buff *skb, struct net_device *netdev)
1002 goto out; 996 goto out;
1003 } 997 }
1004 998
999 tx_pool = &adapter->tx_pool[queue_num];
1000 tx_scrq = adapter->tx_scrq[queue_num];
1001 txq = netdev_get_tx_queue(netdev, skb_get_queue_mapping(skb));
1002 handle_array = (u64 *)((u8 *)(adapter->login_rsp_buf) +
1003 be32_to_cpu(adapter->login_rsp_buf->off_txsubm_subcrqs));
1004
1005 index = tx_pool->free_map[tx_pool->consumer_index]; 1005 index = tx_pool->free_map[tx_pool->consumer_index];
1006 offset = index * adapter->req_mtu; 1006 offset = index * adapter->req_mtu;
1007 dst = tx_pool->long_term_buff.buff + offset; 1007 dst = tx_pool->long_term_buff.buff + offset;