Recirculation ID field of MAE outer rule insert MCDI is
part of the lookup control structure and it has non-zero
bit offset relative to the byte offset of the structure.

Fixes: 5cf153e79c6c ("common/sfc_efx/base: support recirculation ID in outer 
rules")
Cc: sta...@dpdk.org

Signed-off-by: Ivan Malov <ivan.ma...@oktetlabs.ru>
Reviewed-by: Andy Moreton <amore...@xilinx.com>
---
 drivers/common/sfc_efx/base/efx_mae.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/common/sfc_efx/base/efx_mae.c 
b/drivers/common/sfc_efx/base/efx_mae.c
index 7b24e3fee4..7d48b5787e 100644
--- a/drivers/common/sfc_efx/base/efx_mae.c
+++ b/drivers/common/sfc_efx/base/efx_mae.c
@@ -2242,7 +2242,8 @@ efx_mae_outer_rule_insert(
        memcpy(payload + offset, spec->emms_mask_value_pairs.outer,
            MAE_ENC_FIELD_PAIRS_LEN);
 
-       MCDI_IN_SET_BYTE(req, MAE_OUTER_RULE_INSERT_IN_RECIRC_ID,
+       MCDI_IN_SET_DWORD_FIELD(req, MAE_OUTER_RULE_INSERT_IN_LOOKUP_CONTROL,
+           MAE_OUTER_RULE_INSERT_IN_RECIRC_ID,
            spec->emms_outer_rule_recirc_id);
 
        efx_mcdi_execute(enp, &req);
-- 
2.30.2

Reply via email to