From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 60249A0548; Tue, 27 Apr 2021 14:17:35 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E417140150; Tue, 27 Apr 2021 14:17:34 +0200 (CEST) Received: from szxga06-in.huawei.com (szxga06-in.huawei.com [45.249.212.32]) by mails.dpdk.org (Postfix) with ESMTP id 9BD234014E for ; Tue, 27 Apr 2021 14:17:33 +0200 (CEST) Received: from DGGEMS409-HUB.china.huawei.com (unknown [172.30.72.60]) by szxga06-in.huawei.com (SkyGuard) with ESMTP id 4FV11Z5P6dzlbFj for ; Tue, 27 Apr 2021 20:15:30 +0800 (CST) Received: from localhost.localdomain (10.69.192.56) by DGGEMS409-HUB.china.huawei.com (10.3.19.209) with Microsoft SMTP Server id 14.3.498.0; Tue, 27 Apr 2021 20:17:29 +0800 From: "Min Hu (Connor)" To: CC: Date: Tue, 27 Apr 2021 20:17:39 +0800 Message-ID: <1619525859-4182-1-git-send-email-humin29@huawei.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1619056552-43937-4-git-send-email-humin29@huawei.com> References: <1619056552-43937-4-git-send-email-humin29@huawei.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.69.192.56] X-CFilter-Loop: Reflected Subject: [dpdk-dev] [PATCH v3] net/hns3: fix parse link fails code fail X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Chengwen Feng The link fails code should be parsed using the structure hns3_mbx_vf_to_pf_cmd, else it will parse fail. Fixes: 109e4dd1bd7a ("net/hns3: get link state change through mailbox") Cc: stable@dpdk.org Signed-off-by: Chengwen Feng Signed-off-by: Min Hu (Connor) --- v3: * get the parameter as 'struct hns3_mbx_vf_to_pf_cmd' at first place. v2: * kept original API interface. --- drivers/net/hns3/hns3_mbx.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/drivers/net/hns3/hns3_mbx.c b/drivers/net/hns3/hns3_mbx.c index ba04ac9..31ab130 100644 --- a/drivers/net/hns3/hns3_mbx.c +++ b/drivers/net/hns3/hns3_mbx.c @@ -347,7 +347,7 @@ hns3_link_fail_parse(struct hns3_hw *hw, uint8_t link_fail_code) static void hns3pf_handle_link_change_event(struct hns3_hw *hw, - struct hns3_mbx_pf_to_vf_cmd *req) + struct hns3_mbx_vf_to_pf_cmd *req) { #define LINK_STATUS_OFFSET 1 #define LINK_FAIL_CODE_OFFSET 2 @@ -513,7 +513,14 @@ hns3_dev_handle_mbx_msg(struct hns3_hw *hw) hns3_handle_asserting_reset(hw, req); break; case HNS3_MBX_PUSH_LINK_STATUS: - hns3pf_handle_link_change_event(hw, req); + /* + * This message is reported by the firmware and is + * reported in 'struct hns3_mbx_vf_to_pf_cmd' format. + * Therefore, we should cast the req variable to + * 'struct hns3_mbx_vf_to_pf_cmd' and then process it. + */ + hns3pf_handle_link_change_event(hw, + (struct hns3_mbx_vf_to_pf_cmd *)req); break; case HNS3_MBX_PUSH_VLAN_INFO: /* -- 2.7.4