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>
This commit is contained in:
David Ahern
2018-03-30 09:28:51 -07:00
committed by David S. Miller
parent 6851cf28db
commit ef81710258
3 changed files with 15 additions and 8 deletions

View File

@@ -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 */