[dpdk-dev] [PATCH] net/hns3: fix mailbox communication with HW

Min Hu (Connor) humin29 at huawei.com
Thu Oct 28 13:52:30 CEST 2021


Mailbox is the communication mechanism between SW and HW. There exist two
approaches for SW to recongnize mailbox message from HW. One way is using
match_id, the other is to compare the message code. The two approaches are
independent and used in different scenarios.

But for the second approache, "next_to_use" should be updated and written
to HW register. If it not done, HW do not know the position SW steps, then,
the communication between SW and HW will turn to be failed.

Fixes: dbbbad23e380 ("net/hns3: fix VF handling LSC event in secondary process")
Cc: stable at dpdk.org

Signed-off-by: Min Hu (Connor) <humin29 at huawei.com>
---
 drivers/net/hns3/hns3_mbx.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/net/hns3/hns3_mbx.c b/drivers/net/hns3/hns3_mbx.c
index a47622b8a6..245652e2ed 100644
--- a/drivers/net/hns3/hns3_mbx.c
+++ b/drivers/net/hns3/hns3_mbx.c
@@ -435,6 +435,9 @@ hns3_handle_mbx_msg_out_intr(struct hns3_hw *hw)
 scan_next:
 		next_to_use = (next_to_use + 1) % hw->cmq.crq.desc_num;
 	}
+
+	crq->next_to_use = next_to_use;
+	hns3_write_dev(hw, HNS3_CMDQ_RX_HEAD_REG, crq->next_to_use);
 }
 
 void
-- 
2.33.0



More information about the dev mailing list