iavf: use unregister_netdev
authorMichal Schmidt <mschmidt@redhat.com>
Fri, 27 Oct 2023 17:59:39 +0000 (10:59 -0700)
committerJakub Kicinski <kuba@kernel.org>
Fri, 27 Oct 2023 22:35:49 +0000 (15:35 -0700)
Use unregister_netdev, which takes rtnl_lock for us. We don't have to
check the reg_state under rtnl_lock. There's nothing to race with. We
have just cancelled the finish_config work.

Signed-off-by: Michal Schmidt <mschmidt@redhat.com>
Reviewed-by: Wojciech Drewek <wojciech.drewek@intel.com>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Link: https://lore.kernel.org/r/20231027175941.1340255-7-jacob.e.keller@intel.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/intel/iavf/iavf_main.c

index b6fe42547cc32eb59a3ba2534f62fdee6c1843c5..8a7edeb8f12cd4060024f8c15327f0c44375d962 100644 (file)
@@ -5167,10 +5167,8 @@ static void iavf_remove(struct pci_dev *pdev)
        cancel_delayed_work_sync(&adapter->watchdog_task);
        cancel_work_sync(&adapter->finish_config);
 
-       rtnl_lock();
        if (netdev->reg_state == NETREG_REGISTERED)
-               unregister_netdevice(netdev);
-       rtnl_unlock();
+               unregister_netdev(netdev);
 
        if (CLIENT_ALLOWED(adapter)) {
                err = iavf_lan_del_device(adapter);