From: Shuanglin Wang <[email protected]>
For Thor, the default RX completion record metadata format should
be set to Type 1 instead of Type 3. Using the wrong type causes the
driver to misinterpret completion records.
Fixes: 0c036a1485b9 ("net/bnxt/tf_ulp: optimize with inline and prediction")
Cc: [email protected]
Signed-off-by: Shuanglin Wang <[email protected]>
Signed-off-by: Manish Kurup <[email protected]>
---
drivers/net/bnxt/tf_ulp/bnxt_ulp.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp.c
b/drivers/net/bnxt/tf_ulp/bnxt_ulp.c
index a75da8aa19..70e5700833 100644
--- a/drivers/net/bnxt/tf_ulp/bnxt_ulp.c
+++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp.c
@@ -480,10 +480,13 @@ bnxt_ulp_port_init(struct bnxt *bp)
/* Make sure that custom header data is selected */
if (dev_id > BNXT_ULP_DEVICE_ID_WH_PLUS) {
struct bnxt_vnic_info *vnic = bp->vnic_info;
- vnic->metadata_format =
HWRM_VNIC_UPDATE_INPUT_METADATA_FORMAT_TYPE_3;
+ if (dev_id == BNXT_ULP_DEVICE_ID_THOR2)
+ vnic->metadata_format =
HWRM_VNIC_UPDATE_INPUT_METADATA_FORMAT_TYPE_3;
+ else
+ vnic->metadata_format =
HWRM_VNIC_UPDATE_INPUT_METADATA_FORMAT_TYPE_1;
rc = bnxt_hwrm_vnic_update(bp,
- vnic,
-
HWRM_VNIC_UPDATE_INPUT_ENABLES_METADATA_FORMAT_TYPE_VALID);
+ vnic,
+
HWRM_VNIC_UPDATE_INPUT_ENABLES_METADATA_FORMAT_TYPE_VALID);
if (unlikely(rc)) {
BNXT_DRV_DBG(ERR, "Failed to set metadata format\n");
goto jump_to_error;
--
2.31.1