]> git.droids-corp.org - dpdk.git/commitdiff
net/hns3: fix mailbox communication with HW
authorMin Hu (Connor) <humin29@huawei.com>
Thu, 28 Oct 2021 11:52:30 +0000 (19:52 +0800)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 29 Oct 2021 15:47:04 +0000 (17:47 +0200)
Mailbox is the communication mechanism between SW and HW. There exist
two approaches for SW to recognize 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 approach, "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@dpdk.org
Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
drivers/net/hns3/hns3_mbx.c

index a47622b8a6fcabb0c3ee1869795f33bd0f3ac654..245652e2ed02a3e57cf054abe702e67b6635b961 100644 (file)
@@ -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