ibmvnic: skip tx timeout reset while in resetting
authorLijun Pan <ljp@linux.ibm.com>
Fri, 20 Nov 2020 22:40:13 +0000 (16:40 -0600)
committerJakub Kicinski <kuba@kernel.org>
Sat, 21 Nov 2020 23:30:47 +0000 (15:30 -0800)
Sometimes it takes longer than 5 seconds (watchdog timeout) to complete
failover, migration, and other resets. In stead of scheduling another
timeout reset, we wait for the current one to complete.

Suggested-by: Brian King <brking@linux.vnet.ibm.com>
Signed-off-by: Lijun Pan <ljp@linux.ibm.com>
Reviewed-by: Dany Madden <drt@linux.ibm.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/ibm/ibmvnic.c

index 9665532..2aa40b2 100644 (file)
@@ -2356,6 +2356,12 @@ static void ibmvnic_tx_timeout(struct net_device *dev, unsigned int txqueue)
 {
        struct ibmvnic_adapter *adapter = netdev_priv(dev);
 
+       if (test_bit(0, &adapter->resetting)) {
+               netdev_err(adapter->netdev,
+                          "Adapter is resetting, skip timeout reset\n");
+               return;
+       }
+
        ibmvnic_reset(adapter, VNIC_RESET_TIMEOUT);
 }