From: Michael Baum Date: Tue, 21 Jul 2020 11:57:21 +0000 (+0000) Subject: net/mlx5: fix initialization of steering registers X-Git-Url: http://git.droids-corp.org/?p=dpdk.git;a=commitdiff_plain;h=4868ae8322892ca916d71d5f8cf74cb2e5e0b5c4 net/mlx5: fix initialization of steering registers The mlx5_flow_action_copy_mreg structure contains a field called src type enum modify_reg, similarly the mlx5_rte_flow_item_tag field contains a field called id type enum modify_reg. The enum modify_reg variable represents different registers in the system and it also has a field called REG_NONE whose value is 0 which means that the register does not exist. The flow_mreg_add_copy_action function sets a variable of struct mlx5_flow_action_copy_mreg type, and initializes the src field to be 0. Similarly the flow_create_split_metadata function sets a variable of struct mlx5_rte_flow_item_tag type and initializes the id field to be 0. In both functions, they initialize a enum modify_reg type variable with an int type value while modify_reg has an appropriate field for that value (REG_NONE). Replace assigning 0 with REG_NONE in both functions. Fixes: dd3c774f6ffb ("net/mlx5: add metadata register copy table") Fixes: 71e254bc0294 ("net/mlx5: split Rx flows to provide metadata copy") Cc: stable@dpdk.org Signed-off-by: Michael Baum Acked-by: Matan Azrad --- diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c index 40a8575b80..742f9dd8a0 100644 --- a/drivers/net/mlx5/mlx5_flow.c +++ b/drivers/net/mlx5/mlx5_flow.c @@ -3011,7 +3011,7 @@ flow_mreg_add_copy_action(struct rte_eth_dev *dev, uint32_t mark_id, }; struct mlx5_flow_action_copy_mreg cp_mreg = { .dst = REG_B, - .src = 0, + .src = REG_NONE, }; struct rte_flow_action_jump jump = { .group = MLX5_FLOW_MREG_ACT_TABLE_GROUP, @@ -4067,7 +4067,7 @@ flow_create_split_metadata(struct rte_eth_dev *dev, /* Internal PMD action to set register. */ struct mlx5_rte_flow_item_tag q_tag_spec = { .data = qrss_id, - .id = 0, + .id = REG_NONE, }; struct rte_flow_item q_items[] = { {