diff options
| author | David Ahern <dsa@cumulusnetworks.com> | 2018-03-30 09:28:51 -0700 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2018-03-31 22:22:10 -0400 |
| commit | ef817102586cca428d6fe0803cc232a3c929141f (patch) | |
| tree | 1d5332f50fa0b68efc2b950b4bd834eb4cf1b156 /drivers/net/netdevsim/devlink.c | |
| parent | 6851cf28db1c4becc25a2906ecd080c0022a9f11 (diff) | |
netdevsim: Change nsim_devlink_setup to return error to caller
Change nsim_devlink_setup to return any error back to the caller and
update nsim_init to handle it.
Requested-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Signed-off-by: David Ahern <dsa@cumulusnetworks.com>
Acked-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/netdevsim/devlink.c')
| -rw-r--r-- | drivers/net/netdevsim/devlink.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/drivers/net/netdevsim/devlink.c b/drivers/net/netdevsim/devlink.c index bbdcf064ba10..27ae05c5fdaf 100644 --- a/drivers/net/netdevsim/devlink.c +++ b/drivers/net/netdevsim/devlink.c @@ -218,22 +218,22 @@ void nsim_devlink_teardown(struct netdevsim *ns) } } -void nsim_devlink_setup(struct netdevsim *ns) +int nsim_devlink_setup(struct netdevsim *ns) { struct net *net = nsim_to_net(ns); bool *reg_devlink = net_generic(net, nsim_devlink_id); struct devlink *devlink; - int err = -ENOMEM; + int err; /* only one device per namespace controls devlink */ if (!*reg_devlink) { ns->devlink = NULL; - return; + return 0; } devlink = devlink_alloc(&nsim_devlink_ops, 0); if (!devlink) - return; + return -ENOMEM; err = devlink_register(devlink, &ns->dev); if (err) @@ -247,12 +247,14 @@ void nsim_devlink_setup(struct netdevsim *ns) *reg_devlink = false; - return; + return 0; err_dl_unregister: devlink_unregister(devlink); err_devlink_free: devlink_free(devlink); + + return err; } /* Initialize per network namespace state */ |
