diff options
author | Jiri Pirko <jiri@mellanox.com> | 2019-04-25 15:59:41 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-04-26 01:52:02 -0400 |
commit | 1daf36c0dbc059cdef1a1c11e83599c972832d1d (patch) | |
tree | 28ff698168899d10660a8bcf96f114fa7640d7e0 /drivers/net/netdevsim/netdev.c | |
parent | 89eb6e096782b749eadead3824b3a65255c7d0e3 (diff) | |
download | linux-stable-1daf36c0dbc059cdef1a1c11e83599c972832d1d.tar.gz linux-stable-1daf36c0dbc059cdef1a1c11e83599c972832d1d.tar.bz2 linux-stable-1daf36c0dbc059cdef1a1c11e83599c972832d1d.zip |
netdevsim: move device registration on bus to be done earlier in init
As a dependency of the subsequent patch, mode device registration to be
done earlier, directly in nsim_newlink().
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/netdevsim/netdev.c')
-rw-r--r-- | drivers/net/netdevsim/netdev.c | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/drivers/net/netdevsim/netdev.c b/drivers/net/netdevsim/netdev.c index 7805fa840383..6ac5447bca02 100644 --- a/drivers/net/netdevsim/netdev.c +++ b/drivers/net/netdevsim/netdev.c @@ -174,25 +174,14 @@ static int nsim_init(struct net_device *dev) if (err) goto err_debugfs_destroy; - ns->dev.id = nsim_dev_id++; - ns->dev.bus = &nsim_bus; - ns->dev.type = &nsim_dev_type; - err = device_register(&ns->dev); - if (err) - goto err_bpf_uninit; - - SET_NETDEV_DEV(dev, &ns->dev); - err = nsim_devlink_setup(ns); if (err) - goto err_unreg_dev; + goto err_bpf_uninit; nsim_ipsec_init(ns); return 0; -err_unreg_dev: - device_unregister(&ns->dev); err_bpf_uninit: nsim_bpf_uninit(ns); err_debugfs_destroy: @@ -514,11 +503,22 @@ static int nsim_newlink(struct net *src_net, struct net_device *dev, if (IS_ERR(ns->sdev)) return PTR_ERR(ns->sdev); - err = register_netdevice(dev); + ns->dev.id = nsim_dev_id++; + ns->dev.bus = &nsim_bus; + ns->dev.type = &nsim_dev_type; + err = device_register(&ns->dev); if (err) goto err_sdev_put; + + SET_NETDEV_DEV(dev, &ns->dev); + + err = register_netdevice(dev); + if (err) + goto err_unreg_dev; return 0; +err_unreg_dev: + device_unregister(&ns->dev); err_sdev_put: nsim_sdev_put(ns->sdev); return err; |