[dpdk-dev] [PATCH] net/mlx5: fix query host adapter attributes

Viacheslav Ovsiienko viacheslavo at mellanox.com
Tue Nov 12 09:53:58 CET 2019


Host adapter attributes are queried from kernel via multiple
DevX calls. The retrieved data were erroneously overwritten,
the order of querying is fixed.

Fixes: e470ec789d4d ("net/mlx5: fill meter capabilities using DevX")

Signed-off-by: Viacheslav Ovsiienko <viacheslavo at mellanox.com>
---
 drivers/net/mlx5/mlx5_devx_cmds.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/net/mlx5/mlx5_devx_cmds.c b/drivers/net/mlx5/mlx5_devx_cmds.c
index dcb7609..9893287 100644
--- a/drivers/net/mlx5/mlx5_devx_cmds.c
+++ b/drivers/net/mlx5/mlx5_devx_cmds.c
@@ -335,6 +335,11 @@ struct mlx5_devx_obj *
 	attr->log_max_hairpin_num_packets = MLX5_GET
 		(cmd_hca_cap, hcattr, log_min_hairpin_wq_data_sz);
 	attr->vhca_id = MLX5_GET(cmd_hca_cap, hcattr, vhca_id);
+	attr->eth_net_offloads = MLX5_GET(cmd_hca_cap, hcattr,
+					  eth_net_offloads);
+	attr->eth_virt = MLX5_GET(cmd_hca_cap, hcattr, eth_virt);
+	attr->flex_parser_protocols = MLX5_GET(cmd_hca_cap, hcattr,
+					       flex_parser_protocols);
 	attr->qos.sup = MLX5_GET(cmd_hca_cap, hcattr, qos);
 	if (attr->qos.sup) {
 		MLX5_SET(query_hca_cap_in, in, op_mod,
@@ -358,11 +363,6 @@ struct mlx5_devx_obj *
 		attr->qos.flow_meter_reg_c_ids =
 			MLX5_GET(qos_cap, hcattr, flow_meter_reg_id);
 	}
-	attr->eth_net_offloads = MLX5_GET(cmd_hca_cap, hcattr,
-					  eth_net_offloads);
-	attr->eth_virt = MLX5_GET(cmd_hca_cap, hcattr, eth_virt);
-	attr->flex_parser_protocols = MLX5_GET(cmd_hca_cap, hcattr,
-					       flex_parser_protocols);
 	if (!attr->eth_net_offloads)
 		return 0;
 
-- 
1.8.3.1



More information about the dev mailing list