aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJiri Pirko <jiri@nvidia.com>2023-08-08 10:20:20 +0200
committerJakub Kicinski <kuba@kernel.org>2023-08-09 13:06:21 -0700
commit832140804e3b3ad19d73adebd25f69ed98778c58 (patch)
tree4d7de95b8d9a720be540024f341389f5e6391eba
parent2c0e9f3806c46976e9d34130dcb4550ac114293a (diff)
downloadnf-next-832140804e3b3ad19d73adebd25f69ed98778c58.tar.gz
devlink: clear flag on port register error path
When xarray insertion fails, clear the flag. Signed-off-by: Jiri Pirko <jiri@nvidia.com> Reviewed-by: Simon Horman <horms@kernel.org> Link: https://lore.kernel.org/r/20230808082020.1363497-1-jiri@resnulli.us Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-rw-r--r--net/devlink/leftover.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/net/devlink/leftover.c b/net/devlink/leftover.c
index 3bf42f5335ed48..e7900d9fa205a1 100644
--- a/net/devlink/leftover.c
+++ b/net/devlink/leftover.c
@@ -6829,8 +6829,10 @@ int devl_port_register_with_ops(struct devlink *devlink,
spin_lock_init(&devlink_port->type_lock);
INIT_LIST_HEAD(&devlink_port->reporter_list);
err = xa_insert(&devlink->ports, port_index, devlink_port, GFP_KERNEL);
- if (err)
+ if (err) {
+ devlink_port->registered = false;
return err;
+ }
INIT_DELAYED_WORK(&devlink_port->type_warn_dw, &devlink_port_type_warn);
devlink_port_type_warn_schedule(devlink_port);