From: Parav Pandit <pa...@nvidia.com> commit 2cb091f6293df898b47f4e0f2e54324e2bbaf816 upstream.
When set_has_smi_cap() fails, multiport master cleanup is missed. Fix it by doing the correct error unwinding goto. Fixes: a989ea01cb10 ("RDMA/mlx5: Move SMI caps logic") Link: https://lore.kernel.org/r/20210113121703.559778-3-l...@kernel.org Signed-off-by: Parav Pandit <pa...@nvidia.com> Signed-off-by: Leon Romanovsky <leo...@nvidia.com> Signed-off-by: Jason Gunthorpe <j...@nvidia.com> Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org> --- drivers/infiniband/hw/mlx5/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/drivers/infiniband/hw/mlx5/main.c +++ b/drivers/infiniband/hw/mlx5/main.c @@ -6173,7 +6173,7 @@ static int mlx5_ib_stage_init_init(struc err = set_has_smi_cap(dev); if (err) - return err; + goto err_mp; if (!mlx5_core_mp_enabled(mdev)) { for (i = 1; i <= dev->num_ports; i++) {