diff options
| author | Nathan Fontenot <nfont@linux.vnet.ibm.com> | 2017-05-03 14:05:08 -0400 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2017-05-03 11:33:05 -0400 |
| commit | 161b8a813877fb7d3deba6b3bd2731d4f4a75c5e (patch) | |
| tree | c060f50efb85c60e164ca8bfb64a1b3dff8cfd4a | |
| parent | 46293b940fede04f90aab18d4bfecc5bd942cf3a (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.c | 12 |
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; |
