All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Min Hu (Connor)" <humin29@huawei.com>
To: <dev@dpdk.org>
Cc: <ferruh.yigit@intel.com>
Subject: [dpdk-dev] [PATCH 2/4] net/hns3: fix PF miss link status notify message
Date: Thu, 22 Apr 2021 09:55:50 +0800	[thread overview]
Message-ID: <1619056552-43937-3-git-send-email-humin29@huawei.com> (raw)
In-Reply-To: <1619056552-43937-1-git-send-email-humin29@huawei.com>

From: Chengwen Feng <fengchengwen@huawei.com>

The opcode of the link status notification message reported by the
firmware is zero, it will be filtered out because driver treats it as
already processed message. As a result, the PF can't update the link
status in a timely manner.

Because only VF can set opcode to zero when process mailbox message,
so we add a judgment to make sure the PF messages will not filter out.

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: Min Hu (Connor) <humin29@huawei.com>
---
 drivers/net/hns3/hns3_mbx.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/drivers/net/hns3/hns3_mbx.c b/drivers/net/hns3/hns3_mbx.c
index 3b35c02..ba04ac9 100644
--- a/drivers/net/hns3/hns3_mbx.c
+++ b/drivers/net/hns3/hns3_mbx.c
@@ -438,16 +438,19 @@ hns3_handle_mbx_msg_out_intr(struct hns3_hw *hw)
 void
 hns3_dev_handle_mbx_msg(struct hns3_hw *hw)
 {
+	struct hns3_adapter *hns = HNS3_DEV_HW_TO_ADAPTER(hw);
 	struct hns3_cmq_ring *crq = &hw->cmq.crq;
 	struct hns3_mbx_pf_to_vf_cmd *req;
 	struct hns3_cmd_desc *desc;
+	bool handle_out;
 	uint8_t opcode;
 	uint16_t flag;
 
 	rte_spinlock_lock(&hw->cmq.crq.lock);
 
-	if (rte_eal_process_type() != RTE_PROC_PRIMARY ||
-	    !rte_thread_is_intr()) {
+	handle_out = (rte_eal_process_type() != RTE_PROC_PRIMARY ||
+		      !rte_thread_is_intr()) && hns->is_vf;
+	if (handle_out) {
 		/*
 		 * Currently, any threads in the primary and secondary processes
 		 * could send mailbox sync request, so it will need to process
@@ -491,7 +494,8 @@ hns3_dev_handle_mbx_msg(struct hns3_hw *hw)
 			continue;
 		}
 
-		if (desc->opcode == 0) {
+		handle_out = hns->is_vf && desc->opcode == 0;
+		if (handle_out) {
 			/* Message already processed by other thread */
 			crq->desc[crq->next_to_use].flag = 0;
 			hns3_mbx_ring_ptr_move_crq(crq);
-- 
2.7.4


  parent reply	other threads:[~2021-04-22  1:55 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-22  1:55 [dpdk-dev] [PATCH 0/4] bugfix for hns3 PMD Min Hu (Connor)
2021-04-22  1:55 ` [dpdk-dev] [PATCH 1/4] net/hns3: fix error mbx messages prompt errors Min Hu (Connor)
2021-04-22  1:55 ` Min Hu (Connor) [this message]
2021-04-22  1:55 ` [dpdk-dev] [PATCH 3/4] net/hns3: fix parse link fails code fail Min Hu (Connor)
2021-04-26 12:26   ` Ferruh Yigit
2021-04-26 12:41     ` fengchengwen
2021-04-26 12:50       ` Ferruh Yigit
2021-04-26 13:20         ` fengchengwen
2021-04-26 13:42   ` [dpdk-dev] [PATCH v2] " Min Hu (Connor)
2021-04-27 11:11     ` Ferruh Yigit
2021-04-27 12:31       ` Min Hu (Connor)
2021-04-27 12:17   ` [dpdk-dev] [PATCH v3] " Min Hu (Connor)
2021-04-27 12:45     ` Ferruh Yigit
2021-04-27 13:03       ` Min Hu (Connor)
2021-04-27 13:19         ` Ferruh Yigit
2021-04-27 13:43           ` Min Hu (Connor)
2021-04-27 15:09             ` Ferruh Yigit
2021-04-22  1:55 ` [dpdk-dev] [PATCH 4/4] net/hns3: delete unused macro and struct of mbx module Min Hu (Connor)
2021-04-26 12:52 ` [dpdk-dev] [PATCH 0/4] bugfix for hns3 PMD Ferruh Yigit

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1619056552-43937-3-git-send-email-humin29@huawei.com \
    --to=humin29@huawei.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.