]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/blobdiff - drivers/net/ethernet/amazon/ena/ena_netdev.c
net/ena: fix NULL dereference when removing the driver after device reset failed
[mirror_ubuntu-zesty-kernel.git] / drivers / net / ethernet / amazon / ena / ena_netdev.c
index 36f6f05959ec515edc248c3f41d8a450a28a360f..386e6e52cd914f59d72c98461fdbc498fe10d0dc 100644 (file)
@@ -2509,6 +2509,8 @@ err_device_destroy:
 err:
        rtnl_unlock();
 
+       clear_bit(ENA_FLAG_DEVICE_RUNNING, &adapter->flags);
+
        dev_err(&pdev->dev,
                "Reset attempt failed. Can not reset the device\n");
 }
@@ -3117,7 +3119,9 @@ static void ena_remove(struct pci_dev *pdev)
 
        cancel_work_sync(&adapter->resume_io_task);
 
-       ena_com_dev_reset(ena_dev);
+       /* Reset the device only if the device is running. */
+       if (test_bit(ENA_FLAG_DEVICE_RUNNING, &adapter->flags))
+               ena_com_dev_reset(ena_dev);
 
        ena_free_mgmnt_irq(adapter);