> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-boun...@osuosl.org> On Behalf Of
> Michal Schmidt
> Sent: Monday, October 16, 2023 6:49 PM
> To: intel-wired-...@lists.osuosl.org
> Cc: net...@vger.kernel.org; Nguyen, Anthony L
> <anthony.l.ngu...@intel.com>; Brandeburg, Jesse
> <jesse.brandeb...@intel.com>
> Subject: [Intel-wired-lan] [PATCH iwl-next 1/4] 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 <mschm...@redhat.com>
Thanks Michal, nice cleanup!
Reviewed-by: Wojciech Drewek <wojciech.dre...@intel.com>
> ---
> drivers/net/ethernet/intel/iavf/iavf.h | 1 -
> drivers/net/ethernet/intel/iavf/iavf_main.c | 9 +++------
> 2 files changed, 3 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/net/ethernet/intel/iavf/iavf.h
> b/drivers/net/ethernet/intel/iavf/iavf.h
> index 44daf335e8c5..f026d0670338 100644
> --- a/drivers/net/ethernet/intel/iavf/iavf.h
> +++ b/drivers/net/ethernet/intel/iavf/iavf.h
> @@ -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
> diff --git a/drivers/net/ethernet/intel/iavf/iavf_main.c
> b/drivers/net/ethernet/intel/iavf/iavf_main.c
> index f35d74566faa..d2f4648a6156 100644
> --- a/drivers/net/ethernet/intel/iavf/iavf_main.c
> +++ b/drivers/net/ethernet/intel/iavf/iavf_main.c
> @@ -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
> @@ -5173,10 +5172,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)) {
> --
> 2.41.0
>
> _______________________________________________
> Intel-wired-lan mailing list
> Intel-wired-lan@osuosl.org
> https://lists.osuosl.org/mailman/listinfo/intel-wired-lan
_______________________________________________
Intel-wired-lan mailing list
Intel-wired-lan@osuosl.org
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan