dpdk/0162-net-hns3-fix-VF-mailbox-message-handling.patch
Huisong Li 7d8194517a sig-dpdk: sync some patches for PMD/LIB/APP
Sync some patches for hns3 PMD, telemetry and testpmd. And main
modifications are as follows:
 - backport some bugfixes for hns3
 - revert Tx performance optimization for hns3
 - add Rx/Tx descriptor dump feature for hns3
 - refactor some RSS commands for testpmd
 - add ethdev telemetry private dump
 - add dmadev telemetry
 - sync telemetry lib

Signed-off-by: Huisong Li <lihuisong@huawei.com>
(cherry picked from commit 4f06d27eff9aa99c2e2073ac74328893990ed8ed)
2022-10-24 16:11:45 +08:00

49 lines
1.7 KiB
Diff

From 33814ad89cd618df8c596f7b138150cd4b71a8c3 Mon Sep 17 00:00:00 2001
From: Chengwen Feng <fengchengwen@huawei.com>
Date: Fri, 21 Oct 2022 15:36:38 +0800
Subject: [PATCH 162/189] net/hns3: fix VF mailbox message handling
VF's command receive queue was mainly used to receive mailbox messages
from PF. There are two type mailbox messages: request response message
and message pushed by PF.
There are two types of threads that can handle these messages:
1) the interrupt thread of the main process: it could handle both types
of messages.
2) other threads: it could only handle request response messages.
The collaboration mechanism between the two type threads is that other
threads set the opcode of processed messages to zero so that the
interrupt thread of the main process does not process these messages
again.
Unfortunately, the other threads mark the message pointed to by the
crq->next-to-use variable which is fixed in the loop, not the message
pointed to by the next-to-use variable.
Fixes: dbbbad23e380 ("net/hns3: fix VF handling LSC event in secondary process")
Cc: stable@dpdk.org
Signed-off-by: Chengwen Feng <fengchengwen@huawei.com>
Signed-off-by: Dongdong Liu <liudongdong3@huawei.com>
---
drivers/net/hns3/hns3_mbx.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/hns3/hns3_mbx.c b/drivers/net/hns3/hns3_mbx.c
index 2de55a6417..9a05f0d1ee 100644
--- a/drivers/net/hns3/hns3_mbx.c
+++ b/drivers/net/hns3/hns3_mbx.c
@@ -429,7 +429,7 @@ hns3_handle_mbx_msg_out_intr(struct hns3_hw *hw)
* Clear opcode to inform intr thread don't process
* again.
*/
- crq->desc[crq->next_to_use].opcode = 0;
+ crq->desc[next_to_use].opcode = 0;
}
scan_next:
--
2.23.0