devlink: add missing unregister linecard notification
authorJiri Pirko <jiri@nvidia.com>
Thu, 17 Aug 2023 12:52:40 +0000 (14:52 +0200)
committerJakub Kicinski <kuba@kernel.org>
Sat, 19 Aug 2023 01:29:12 +0000 (18:29 -0700)
Cited fixes commit introduced linecard notifications for register,
however it didn't add them for unregister. Fix that by adding them.

Fixes: c246f9b5fd61 ("devlink: add support to create line card and expose to user")
Signed-off-by: Jiri Pirko <jiri@nvidia.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://lore.kernel.org/r/20230817125240.2144794-1-jiri@resnulli.us
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/devlink/leftover.c

index 1f00f87..bfed792 100644 (file)
@@ -6704,6 +6704,7 @@ void devlink_notify_unregister(struct devlink *devlink)
        struct devlink_param_item *param_item;
        struct devlink_trap_item *trap_item;
        struct devlink_port *devlink_port;
+       struct devlink_linecard *linecard;
        struct devlink_rate *rate_node;
        struct devlink_region *region;
        unsigned long port_index;
@@ -6732,6 +6733,8 @@ void devlink_notify_unregister(struct devlink *devlink)
 
        xa_for_each(&devlink->ports, port_index, devlink_port)
                devlink_port_notify(devlink_port, DEVLINK_CMD_PORT_DEL);
+       list_for_each_entry_reverse(linecard, &devlink->linecard_list, list)
+               devlink_linecard_notify(linecard, DEVLINK_CMD_LINECARD_DEL);
        devlink_notify(devlink, DEVLINK_CMD_DEL);
 }