summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/netronome/nfp/nfp_net_main.c
diff options
context:
space:
mode:
authorJiri Pirko2019-03-24 11:14:34 +0100
committerDavid S. Miller2019-03-24 19:55:31 +0100
commitfaaccbe6eb07ecd590bebae11eb236661ecfb069 (patch)
tree1418b6abf2203ef36e8619413da70a93d988e953 /drivers/net/ethernet/netronome/nfp/nfp_net_main.c
parentnet: devlink: disallow port_attrs_set() to be called before register (diff)
downloadkernel-qcow2-linux-faaccbe6eb07ecd590bebae11eb236661ecfb069.tar.gz
kernel-qcow2-linux-faaccbe6eb07ecd590bebae11eb236661ecfb069.tar.xz
kernel-qcow2-linux-faaccbe6eb07ecd590bebae11eb236661ecfb069.zip
nfp: move devlink port type set after netdev registration
Similar to other driver, move the port type set after netdev registration is done. Along with that, clear the type before unregistration. Signed-off-by: Jiri Pirko <jiri@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/netronome/nfp/nfp_net_main.c')
-rw-r--r--drivers/net/ethernet/netronome/nfp/nfp_net_main.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/net/ethernet/netronome/nfp/nfp_net_main.c b/drivers/net/ethernet/netronome/nfp/nfp_net_main.c
index 08f5fdbd8e41..f35278062476 100644
--- a/drivers/net/ethernet/netronome/nfp/nfp_net_main.c
+++ b/drivers/net/ethernet/netronome/nfp/nfp_net_main.c
@@ -160,6 +160,7 @@ nfp_net_pf_init_vnic(struct nfp_pf *pf, struct nfp_net *nn, unsigned int id)
err = nfp_devlink_port_register(pf->app, nn->port);
if (err)
goto err_dfs_clean;
+ nfp_devlink_port_type_eth_set(nn->port);
}
nfp_net_info(nn);
@@ -173,8 +174,10 @@ nfp_net_pf_init_vnic(struct nfp_pf *pf, struct nfp_net *nn, unsigned int id)
return 0;
err_devlink_port_clean:
- if (nn->port)
+ if (nn->port) {
+ nfp_devlink_port_type_clear(nn->port);
nfp_devlink_port_unregister(nn->port);
+ }
err_dfs_clean:
nfp_net_debugfs_dir_clean(&nn->debugfs_dir);
nfp_net_clean(nn);
@@ -220,8 +223,10 @@ static void nfp_net_pf_clean_vnic(struct nfp_pf *pf, struct nfp_net *nn)
{
if (nfp_net_is_data_vnic(nn))
nfp_app_vnic_clean(pf->app, nn);
- if (nn->port)
+ if (nn->port) {
+ nfp_devlink_port_type_clear(nn->port);
nfp_devlink_port_unregister(nn->port);
+ }
nfp_net_debugfs_dir_clean(&nn->debugfs_dir);
nfp_net_clean(nn);
}