net/hinic/base: fix LRO
authorGuoyang Zhou <zhouguoyang@huawei.com>
Fri, 16 Jul 2021 09:54:29 +0000 (17:54 +0800)
committerThomas Monjalon <thomas@monjalon.net>
Fri, 23 Jul 2021 13:36:38 +0000 (15:36 +0200)
The Rx queue must config as ceq disables, and must set MSI-X
state disabled. Otherwise when LRO is enables, there will be
problems with packet aggregation because of firmware.

Fixes: 9d02f40d6503 ("net/hinic: fix LRO")
Cc: stable@dpdk.org
Signed-off-by: Guoyang Zhou <zhouguoyang@huawei.com>
drivers/net/hinic/base/hinic_pmd_nicio.c

index 162308b..ad5db9f 100644 (file)
@@ -230,8 +230,8 @@ static void hinic_rq_prepare_ctxt(struct hinic_rq *rq,
        wq_block_pfn_hi = upper_32_bits(wq_block_pfn);
        wq_block_pfn_lo = lower_32_bits(wq_block_pfn);
 
-       /* must config as ceq enable but do not generate ceq */
-       rq_ctxt->ceq_attr = RQ_CTXT_CEQ_ATTR_SET(1, EN) |
+       /* config as ceq disable, but must set msix state disable */
+       rq_ctxt->ceq_attr = RQ_CTXT_CEQ_ATTR_SET(0, EN) |
                            RQ_CTXT_CEQ_ATTR_SET(1, OWNER);
 
        rq_ctxt->pi_intr_attr = RQ_CTXT_PI_SET(pi_start, IDX) |