mirror of
https://github.com/torvalds/linux.git
synced 2024-11-27 22:51:35 +00:00
net/mlx5: Query hca_cap_2 only when supported
On vport enable, where fw's hca caps are queried, the driver queries
hca_caps_2 without checking if fw truly supports them, causing a false
failure of vfs vport load and blocking SRIOV enablement on old devices
such as CX4 where hca_caps_2 support is missing.
Thus, add a check for the said caps support before accessing them.
Fixes: e5b9642a33
("net/mlx5: E-Switch, Implement devlink port function cmds to control migratable")
Signed-off-by: Maher Sanalla <msanalla@nvidia.com>
Reviewed-by: Shay Drory <shayd@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
This commit is contained in:
parent
f7a485115a
commit
6496357aa5
@ -807,6 +807,9 @@ static int mlx5_esw_vport_caps_get(struct mlx5_eswitch *esw, struct mlx5_vport *
|
||||
hca_caps = MLX5_ADDR_OF(query_hca_cap_out, query_ctx, capability);
|
||||
vport->info.roce_enabled = MLX5_GET(cmd_hca_cap, hca_caps, roce);
|
||||
|
||||
if (!MLX5_CAP_GEN_MAX(esw->dev, hca_cap_2))
|
||||
goto out_free;
|
||||
|
||||
memset(query_ctx, 0, query_out_sz);
|
||||
err = mlx5_vport_get_other_func_cap(esw->dev, vport->vport, query_ctx,
|
||||
MLX5_CAP_GENERAL_2);
|
||||
|
Loading…
Reference in New Issue
Block a user