When attr_ctx is NULL it will attempt to free the list of devices twice. So, changing it to be freed in error handling only.
Fixes: 771fa900 ("mlx5: introduce new driver for Mellanox ConnectX-4 adapters") Cc: sta...@dpdk.org Signed-off-by: Raslan Darawsheh <rasl...@mellanox.com> --- drivers/net/mlx5/mlx5.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c index 5190b9f..d34076b 100644 --- a/drivers/net/mlx5/mlx5.c +++ b/drivers/net/mlx5/mlx5.c @@ -690,7 +690,6 @@ mlx5_pci_probe(struct rte_pci_driver *pci_drv __rte_unused, break; } if (attr_ctx == NULL) { - mlx5_glue->free_device_list(list); switch (err) { case 0: DRV_LOG(ERR, @@ -701,6 +700,8 @@ mlx5_pci_probe(struct rte_pci_driver *pci_drv __rte_unused, DRV_LOG(ERR, "cannot use device, are drivers up to date?"); goto error; + default: + goto error; } } ibv_dev = list[i]; -- 2.7.4