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:

committed by
David S. Miller

parent
6851cf28db
commit
ef81710258
@@ -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 */
|
||||
|
Reference in New Issue
Block a user