ionic: Move devlink registration to be last devlink command
authorLeon Romanovsky <leonro@nvidia.com>
Sat, 25 Sep 2021 11:22:54 +0000 (14:22 +0300)
committerDavid S. Miller <davem@davemloft.net>
Mon, 27 Sep 2021 15:31:59 +0000 (16:31 +0100)
This change prevents from users to access device before devlink is
fully configured.

Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/pensando/ionic/ionic_devlink.c

index 9328239..2267da9 100644 (file)
@@ -82,7 +82,6 @@ int ionic_devlink_register(struct ionic *ionic)
        struct devlink_port_attrs attrs = {};
        int err;
 
-       devlink_register(dl);
        attrs.flavour = DEVLINK_PORT_FLAVOUR_PHYSICAL;
        devlink_port_attrs_set(&ionic->dl_port, &attrs);
        err = devlink_port_register(dl, &ionic->dl_port, 0);
@@ -93,6 +92,7 @@ int ionic_devlink_register(struct ionic *ionic)
        }
 
        devlink_port_type_eth_set(&ionic->dl_port, ionic->lif->netdev);
+       devlink_register(dl);
        return 0;
 }
 
@@ -100,6 +100,6 @@ void ionic_devlink_unregister(struct ionic *ionic)
 {
        struct devlink *dl = priv_to_devlink(ionic);
 
-       devlink_port_unregister(&ionic->dl_port);
        devlink_unregister(dl);
+       devlink_port_unregister(&ionic->dl_port);
 }