net/mlx5: Disable devlink reload for multi port slave device
authorShay Drory <shayd@nvidia.com>
Wed, 30 Dec 2020 07:58:32 +0000 (09:58 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 4 Mar 2021 10:37:32 +0000 (11:37 +0100)
[ Upstream commit d89ddaae1766f8fe571ea6eb63ec098ff556f1dd ]

Devlink reload can't be allowed on a multi port slave device, because
reload of slave device doesn't take effect.

The right flow is to disable devlink reload for multi port slave
device. Hence, disabling it in mlx5_core probing.

Fixes: 4383cfcc65e7 ("net/mlx5: Add devlink reload")
Signed-off-by: Shay Drory <shayd@nvidia.com>
Reviewed-by: Moshe Shemesh <moshe@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/mellanox/mlx5/core/main.c

index e455a2f..8246b62 100644 (file)
@@ -1380,7 +1380,8 @@ static int init_one(struct pci_dev *pdev, const struct pci_device_id *id)
                dev_err(&pdev->dev, "mlx5_crdump_enable failed with error code %d\n", err);
 
        pci_save_state(pdev);
-       devlink_reload_enable(devlink);
+       if (!mlx5_core_is_mp_slave(dev))
+               devlink_reload_enable(devlink);
        return 0;
 
 err_load_one: