IB/mlx5: Fix memory leak in query device

We need to free dev->port when we fail to enable RoCE or
initialize node data.

Fixes: 0837e86a7a ('IB/mlx5: Add per port counters')
Signed-off-by: Majd Dibbiny <majd@mellanox.com>
Signed-off-by: Maor Gottlieb <maorg@mellanox.com>
Reviewed-by: Mark Bloch <markb@mellanox.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:
Majd Dibbiny
2016-10-27 16:36:39 +03:00
committed by Doug Ledford
parent 3c7ba5760a
commit 90be7c8ab7

View File

@@ -3115,7 +3115,7 @@ static void *mlx5_ib_add(struct mlx5_core_dev *mdev)
} }
err = init_node_data(dev); err = init_node_data(dev);
if (err) if (err)
goto err_dealloc; goto err_free_port;
mutex_init(&dev->flow_db.lock); mutex_init(&dev->flow_db.lock);
mutex_init(&dev->cap_mask_mutex); mutex_init(&dev->cap_mask_mutex);
@@ -3125,7 +3125,7 @@ static void *mlx5_ib_add(struct mlx5_core_dev *mdev)
if (ll == IB_LINK_LAYER_ETHERNET) { if (ll == IB_LINK_LAYER_ETHERNET) {
err = mlx5_enable_roce(dev); err = mlx5_enable_roce(dev);
if (err) if (err)
goto err_dealloc; goto err_free_port;
} }
err = create_dev_resources(&dev->devr); err = create_dev_resources(&dev->devr);