Re: [PATCH v2] net/mlx4_core: Fix error handling in mlx4_init_port_info.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 14/05/2018 2:38 AM, Tarick Bedeir wrote:
Avoid exiting the function with a lingering sysfs file (if the first
call to device_create_file() fails while the second succeeds), and avoid
calling devlink_port_unregister() twice.

In other words, either mlx4_init_port_info() succeeds and returns zero, or
it fails, returns non-zero, and requires no cleanup.

Fixes: 096335b3f983 ("mlx4_core: Allow dynamic MTU configuration for IB
ports")
Signed-off-by: Tarick Bedeir <tarick@xxxxxxxxxx>
---
v1 -> v2: Added "Fixes" tag.
---
  drivers/net/ethernet/mellanox/mlx4/main.c | 4 +++-
  1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/mellanox/mlx4/main.c b/drivers/net/ethernet/mellanox/mlx4/main.c
index 4d84cab77105..e8a3a45d0b53 100644
--- a/drivers/net/ethernet/mellanox/mlx4/main.c
+++ b/drivers/net/ethernet/mellanox/mlx4/main.c
@@ -3007,6 +3007,7 @@ static int mlx4_init_port_info(struct mlx4_dev *dev, int port)
  		mlx4_err(dev, "Failed to create file for port %d\n", port);
  		devlink_port_unregister(&info->devlink_port);
  		info->port = -1;
+		return err;
  	}
sprintf(info->dev_mtu_name, "mlx4_port%d_mtu", port);
@@ -3028,9 +3029,10 @@ static int mlx4_init_port_info(struct mlx4_dev *dev, int port)
  				   &info->port_attr);
  		devlink_port_unregister(&info->devlink_port);
  		info->port = -1;
+		return err;
  	}
- return err;
+	return 0;
  }
static void mlx4_cleanup_port_info(struct mlx4_port_info *info)


Thanks for you patch.
Reviewed-by: Tariq Toukan <tariqt@xxxxxxxxxxxx>

Dave, please queue for -stable.

Best,
Tariq
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux