mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-07 13:53:24 +00:00
iavf: rely on netdev's own registered state
The information whether a netdev has been registered is already present in the netdev itself. There's no need for a driver flag with the same meaning. 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-6-jacob.e.keller@intel.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
54584b1788
commit
34ad34bf06
@ -377,7 +377,6 @@ struct iavf_adapter {
|
||||
unsigned long crit_section;
|
||||
|
||||
struct delayed_work watchdog_task;
|
||||
bool netdev_registered;
|
||||
bool link_up;
|
||||
enum virtchnl_link_speed link_speed;
|
||||
/* This is only populated if the VIRTCHNL_VF_CAP_ADV_LINK_SPEED is set
|
||||
|
@ -2021,7 +2021,7 @@ static void iavf_finish_config(struct work_struct *work)
|
||||
mutex_lock(&adapter->crit_lock);
|
||||
|
||||
if ((adapter->flags & IAVF_FLAG_SETUP_NETDEV_FEATURES) &&
|
||||
adapter->netdev_registered &&
|
||||
adapter->netdev->reg_state == NETREG_REGISTERED &&
|
||||
!test_bit(__IAVF_IN_REMOVE_TASK, &adapter->crit_section)) {
|
||||
netdev_update_features(adapter->netdev);
|
||||
adapter->flags &= ~IAVF_FLAG_SETUP_NETDEV_FEATURES;
|
||||
@ -2029,7 +2029,7 @@ static void iavf_finish_config(struct work_struct *work)
|
||||
|
||||
switch (adapter->state) {
|
||||
case __IAVF_DOWN:
|
||||
if (!adapter->netdev_registered) {
|
||||
if (adapter->netdev->reg_state != NETREG_REGISTERED) {
|
||||
err = register_netdevice(adapter->netdev);
|
||||
if (err) {
|
||||
dev_err(&adapter->pdev->dev, "Unable to register netdev (%d)\n",
|
||||
@ -2043,7 +2043,6 @@ static void iavf_finish_config(struct work_struct *work)
|
||||
__IAVF_INIT_CONFIG_ADAPTER);
|
||||
goto out;
|
||||
}
|
||||
adapter->netdev_registered = true;
|
||||
}
|
||||
|
||||
/* Set the real number of queues when reset occurs while
|
||||
@ -5169,10 +5168,8 @@ static void iavf_remove(struct pci_dev *pdev)
|
||||
cancel_work_sync(&adapter->finish_config);
|
||||
|
||||
rtnl_lock();
|
||||
if (adapter->netdev_registered) {
|
||||
if (netdev->reg_state == NETREG_REGISTERED)
|
||||
unregister_netdevice(netdev);
|
||||
adapter->netdev_registered = false;
|
||||
}
|
||||
rtnl_unlock();
|
||||
|
||||
if (CLIENT_ALLOWED(adapter)) {
|
||||
|
Loading…
Reference in New Issue
Block a user