diff options
author | Michal Schmidt <mschmidt@redhat.com> | 2023-10-27 10:59:39 -0700 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2023-10-27 15:35:49 -0700 |
commit | 5c4e1d187442c07b8bcbb7097a70e65e8b187598 (patch) | |
tree | 16c78b06515707dbbf8f8c035686c7f5be99a30a /drivers/net/ethernet/intel/iavf/iavf_main.c | |
parent | 34ad34bf06cae3cf2f7b8361aebc28b7d51fb7dc (diff) | |
download | linux-5c4e1d187442c07b8bcbb7097a70e65e8b187598.tar.gz linux-5c4e1d187442c07b8bcbb7097a70e65e8b187598.tar.bz2 linux-5c4e1d187442c07b8bcbb7097a70e65e8b187598.zip |
iavf: use unregister_netdev
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>
Diffstat (limited to 'drivers/net/ethernet/intel/iavf/iavf_main.c')
-rw-r--r-- | drivers/net/ethernet/intel/iavf/iavf_main.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/net/ethernet/intel/iavf/iavf_main.c b/drivers/net/ethernet/intel/iavf/iavf_main.c index b6fe42547cc3..8a7edeb8f12c 100644 --- a/drivers/net/ethernet/intel/iavf/iavf_main.c +++ b/drivers/net/ethernet/intel/iavf/iavf_main.c @@ -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); |