]> www.infradead.org Git - nvme.git/commitdiff
net/mlx5: Release devlink object if adev fails
authorLeon Romanovsky <leonro@nvidia.com>
Mon, 4 Jan 2021 08:08:36 +0000 (10:08 +0200)
committerSaeed Mahameed <saeedm@nvidia.com>
Thu, 7 Jan 2021 20:22:50 +0000 (12:22 -0800)
Add missed freeing previously allocated devlink object.

Fixes: a925b5e309c9 ("net/mlx5: Register mlx5 devices to auxiliary virtual bus")
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
drivers/net/ethernet/mellanox/mlx5/core/main.c

index c08315b51fd3aa4e2a259d424ff883efc0901f56..ca6f2fc39ea0af55173bc01708d363b3266e6f8b 100644 (file)
@@ -1368,8 +1368,10 @@ static int init_one(struct pci_dev *pdev, const struct pci_device_id *id)
                         MLX5_COREDEV_VF : MLX5_COREDEV_PF;
 
        dev->priv.adev_idx = mlx5_adev_idx_alloc();
-       if (dev->priv.adev_idx < 0)
-               return dev->priv.adev_idx;
+       if (dev->priv.adev_idx < 0) {
+               err = dev->priv.adev_idx;
+               goto adev_init_err;
+       }
 
        err = mlx5_mdev_init(dev, prof_sel);
        if (err)
@@ -1403,6 +1405,7 @@ pci_init_err:
        mlx5_mdev_uninit(dev);
 mdev_init_err:
        mlx5_adev_idx_free(dev->priv.adev_idx);
+adev_init_err:
        mlx5_devlink_free(devlink);
 
        return err;