ibmvnic: properly start and stop tx queues
authorThomas Falcon <tlfalcon@linux.vnet.ibm.com>
Wed, 6 Jul 2016 20:35:15 +0000 (15:35 -0500)
committerDavid S. Miller <davem@davemloft.net>
Sat, 9 Jul 2016 21:42:10 +0000 (17:42 -0400)
Since ibmvnic uses multiple tx queues, start and stop all queues when
opening and closing devices.

Signed-off-by: Thomas Falcon <tlfalcon@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/ibm/ibmvnic.c

index ecdb6854a898738ad5d010c61f6f39021e8f0e51..f04830e237d9c87341fcf9cd2072dddeef5aba14 100644 (file)
@@ -469,7 +469,8 @@ static int ibmvnic_open(struct net_device *netdev)
        crq.logical_link_state.link_state = IBMVNIC_LOGICAL_LNK_UP;
        ibmvnic_send_crq(adapter, &crq);
 
-       netif_start_queue(netdev);
+       netif_tx_start_all_queues(netdev);
+
        return 0;
 
 bounce_map_failed:
@@ -519,7 +520,7 @@ static int ibmvnic_close(struct net_device *netdev)
        for (i = 0; i < adapter->req_rx_queues; i++)
                napi_disable(&adapter->napi[i]);
 
-       netif_stop_queue(netdev);
+       netif_tx_stop_all_queues(netdev);
 
        if (adapter->bounce_buffer) {
                if (!dma_mapping_error(dev, adapter->bounce_buffer_dma)) {