From: Shay Drory <sh...@nvidia.com>

[ 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 <sh...@nvidia.com>
Reviewed-by: Moshe Shemesh <mo...@nvidia.com>
Signed-off-by: Saeed Mahameed <sae...@nvidia.com>
Signed-off-by: Sasha Levin <sas...@kernel.org>
---
 drivers/net/ethernet/mellanox/mlx5/core/main.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/main.c 
b/drivers/net/ethernet/mellanox/mlx5/core/main.c
index e455a2f31f070..8246b6285d5a4 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/main.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/main.c
@@ -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:
-- 
2.27.0



Reply via email to