Commit de9d555c authored by Jiri Pirko's avatar Jiri Pirko Committed by Jakub Kicinski

mlx4: Do type_clear() for devlink ports when type_set() was called previously

Whenever the type_set() is called on a devlink port, accompany it by
matching type_clear() during cleanup.
Signed-off-by: default avatarJiri Pirko <jiri@nvidia.com>
Link: https://lore.kernel.org/r/20220825114031.1361478-1-jiri@resnulli.usSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 1d2577ab
...@@ -3071,6 +3071,7 @@ static int mlx4_init_port_info(struct mlx4_dev *dev, int port) ...@@ -3071,6 +3071,7 @@ static int mlx4_init_port_info(struct mlx4_dev *dev, int port)
err = device_create_file(&dev->persist->pdev->dev, &info->port_attr); err = device_create_file(&dev->persist->pdev->dev, &info->port_attr);
if (err) { if (err) {
mlx4_err(dev, "Failed to create file for port %d\n", port); mlx4_err(dev, "Failed to create file for port %d\n", port);
devlink_port_type_clear(&info->devlink_port);
devl_port_unregister(&info->devlink_port); devl_port_unregister(&info->devlink_port);
info->port = -1; info->port = -1;
return err; return err;
...@@ -3093,6 +3094,7 @@ static int mlx4_init_port_info(struct mlx4_dev *dev, int port) ...@@ -3093,6 +3094,7 @@ static int mlx4_init_port_info(struct mlx4_dev *dev, int port)
mlx4_err(dev, "Failed to create mtu file for port %d\n", port); mlx4_err(dev, "Failed to create mtu file for port %d\n", port);
device_remove_file(&info->dev->persist->pdev->dev, device_remove_file(&info->dev->persist->pdev->dev,
&info->port_attr); &info->port_attr);
devlink_port_type_clear(&info->devlink_port);
devl_port_unregister(&info->devlink_port); devl_port_unregister(&info->devlink_port);
info->port = -1; info->port = -1;
return err; return err;
...@@ -3109,6 +3111,7 @@ static void mlx4_cleanup_port_info(struct mlx4_port_info *info) ...@@ -3109,6 +3111,7 @@ static void mlx4_cleanup_port_info(struct mlx4_port_info *info)
device_remove_file(&info->dev->persist->pdev->dev, &info->port_attr); device_remove_file(&info->dev->persist->pdev->dev, &info->port_attr);
device_remove_file(&info->dev->persist->pdev->dev, device_remove_file(&info->dev->persist->pdev->dev,
&info->port_mtu_attr); &info->port_mtu_attr);
devlink_port_type_clear(&info->devlink_port);
devl_port_unregister(&info->devlink_port); devl_port_unregister(&info->devlink_port);
#ifdef CONFIG_RFS_ACCEL #ifdef CONFIG_RFS_ACCEL
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment