diff mbox series

[net-next,3/3] ionic: change order of devlink port register and netdev register

Message ID 20220926110938.2800005-4-jiri@resnulli.us (mailing list archive)
State Accepted
Commit 1fd7c08286cec1805427ed0569ca08e24ade6702
Delegated to: Netdev Maintainers
Headers show
Series devlink: fix order of port and netdev register in drivers | expand

Checks

Context Check Description
netdev/tree_selection success Clearly marked for net-next
netdev/fixes_present success Fixes tag not required for -next series
netdev/subject_prefix success Link
netdev/cover_letter success Series has a cover letter
netdev/patch_count success Link
netdev/header_inline success No static functions without inline keyword in header files
netdev/build_32bit success Errors and warnings before: 0 this patch: 0
netdev/cc_maintainers success CCed 9 of 9 maintainers
netdev/build_clang success Errors and warnings before: 0 this patch: 0
netdev/module_param success Was 0 now: 0
netdev/verify_signedoff success Signed-off-by tag matches author and committer
netdev/check_selftest success No net selftest shell script
netdev/verify_fixes success No Fixes tag
netdev/build_allmodconfig_warn success Errors and warnings before: 0 this patch: 0
netdev/checkpatch success total: 0 errors, 0 warnings, 0 checks, 40 lines checked
netdev/kdoc success Errors and warnings before: 0 this patch: 0
netdev/source_inline success Was 0 now: 0

Commit Message

Jiri Pirko Sept. 26, 2022, 11:09 a.m. UTC
From: Jiri Pirko <jiri@nvidia.com>

Make sure that devlink port is registered first and register netdev
after. Unregister netdev before devlnk port unregister.

Signed-off-by: Jiri Pirko <jiri@nvidia.com>
---
 .../net/ethernet/pensando/ionic/ionic_bus_pci.c  | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

Comments

Shannon Nelson Sept. 26, 2022, 7:49 p.m. UTC | #1
On 9/26/22 4:09 AM, Jiri Pirko wrote:
> From: Jiri Pirko <jiri@nvidia.com>
> 
> Make sure that devlink port is registered first and register netdev
> after. Unregister netdev before devlnk port unregister.
> 
> Signed-off-by: Jiri Pirko <jiri@nvidia.com>
> ---
>   .../net/ethernet/pensando/ionic/ionic_bus_pci.c  | 16 ++++++++--------
>   1 file changed, 8 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c b/drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c
> index 0a7a757494bc..ce436e97324a 100644
> --- a/drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c
> +++ b/drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c
> @@ -320,16 +320,16 @@ static int ionic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
>                          dev_err(dev, "Cannot enable existing VFs: %d\n", err);
>          }
> 
> -       err = ionic_lif_register(ionic->lif);
> +       err = ionic_devlink_register(ionic);
>          if (err) {
> -               dev_err(dev, "Cannot register LIF: %d, aborting\n", err);
> +               dev_err(dev, "Cannot register devlink: %d\n", err);
>                  goto err_out_deinit_lifs;
>          }
> 
> -       err = ionic_devlink_register(ionic);
> +       err = ionic_lif_register(ionic->lif);
>          if (err) {
> -               dev_err(dev, "Cannot register devlink: %d\n", err);
> -               goto err_out_deregister_lifs;
> +               dev_err(dev, "Cannot register LIF: %d, aborting\n", err);
> +               goto err_out_deregister_devlink;
>          }
> 
>          mod_timer(&ionic->watchdog_timer,
> @@ -337,8 +337,8 @@ static int ionic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
> 
>          return 0;
> 
> -err_out_deregister_lifs:
> -       ionic_lif_unregister(ionic->lif);
> +err_out_deregister_devlink:
> +       ionic_devlink_unregister(ionic);
>   err_out_deinit_lifs:
>          ionic_vf_dealloc(ionic);
>          ionic_lif_deinit(ionic->lif);
> @@ -380,8 +380,8 @@ static void ionic_remove(struct pci_dev *pdev)
>          del_timer_sync(&ionic->watchdog_timer);
> 
>          if (ionic->lif) {
> -               ionic_devlink_unregister(ionic);
>                  ionic_lif_unregister(ionic->lif);
> +               ionic_devlink_unregister(ionic);
>                  ionic_lif_deinit(ionic->lif);
>                  ionic_lif_free(ionic->lif);
>                  ionic->lif = NULL;
> --
> 2.37.1
> 

That should be alright - thanks.  -sln

Acked-by: Shannon Nelson <snelson@pensando.io>
diff mbox series

Patch

diff --git a/drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c b/drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c
index 0a7a757494bc..ce436e97324a 100644
--- a/drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c
+++ b/drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c
@@ -320,16 +320,16 @@  static int ionic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 			dev_err(dev, "Cannot enable existing VFs: %d\n", err);
 	}
 
-	err = ionic_lif_register(ionic->lif);
+	err = ionic_devlink_register(ionic);
 	if (err) {
-		dev_err(dev, "Cannot register LIF: %d, aborting\n", err);
+		dev_err(dev, "Cannot register devlink: %d\n", err);
 		goto err_out_deinit_lifs;
 	}
 
-	err = ionic_devlink_register(ionic);
+	err = ionic_lif_register(ionic->lif);
 	if (err) {
-		dev_err(dev, "Cannot register devlink: %d\n", err);
-		goto err_out_deregister_lifs;
+		dev_err(dev, "Cannot register LIF: %d, aborting\n", err);
+		goto err_out_deregister_devlink;
 	}
 
 	mod_timer(&ionic->watchdog_timer,
@@ -337,8 +337,8 @@  static int ionic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 
 	return 0;
 
-err_out_deregister_lifs:
-	ionic_lif_unregister(ionic->lif);
+err_out_deregister_devlink:
+	ionic_devlink_unregister(ionic);
 err_out_deinit_lifs:
 	ionic_vf_dealloc(ionic);
 	ionic_lif_deinit(ionic->lif);
@@ -380,8 +380,8 @@  static void ionic_remove(struct pci_dev *pdev)
 	del_timer_sync(&ionic->watchdog_timer);
 
 	if (ionic->lif) {
-		ionic_devlink_unregister(ionic);
 		ionic_lif_unregister(ionic->lif);
+		ionic_devlink_unregister(ionic);
 		ionic_lif_deinit(ionic->lif);
 		ionic_lif_free(ionic->lif);
 		ionic->lif = NULL;