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 B641BA0548; Mon, 26 Apr 2021 15:21:07 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 93EA941104; Mon, 26 Apr 2021 15:21:07 +0200 (CEST) Received: from szxga05-in.huawei.com (szxga05-in.huawei.com [45.249.212.191]) by mails.dpdk.org (Postfix) with ESMTP id 0549140140 for ; Mon, 26 Apr 2021 15:21:05 +0200 (CEST) Received: from DGGEMS412-HUB.china.huawei.com (unknown [172.30.72.58]) by szxga05-in.huawei.com (SkyGuard) with ESMTP id 4FTQSr6hxDzvSn3 for ; Mon, 26 Apr 2021 21:18:36 +0800 (CST) Received: from [127.0.0.1] (10.40.190.165) by DGGEMS412-HUB.china.huawei.com (10.3.19.212) with Microsoft SMTP Server id 14.3.498.0; Mon, 26 Apr 2021 21:20:54 +0800 To: Ferruh Yigit CC: "Min Hu (Connor)" , References: <1619056552-43937-1-git-send-email-humin29@huawei.com> <1619056552-43937-4-git-send-email-humin29@huawei.com> <1e1b9fac-51f7-7420-b67d-260e7865db3c@intel.com> <5d7d0346-67a9-5db2-91f7-2cae0e1c901f@huawei.com> <74219925-5e0d-bb9a-3e81-46665ab01b33@intel.com> From: fengchengwen Message-ID: <49e50599-342d-88d7-35dd-dc75ef018502@huawei.com> Date: Mon, 26 Apr 2021 21:20:54 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.11.0 MIME-Version: 1.0 In-Reply-To: <74219925-5e0d-bb9a-3e81-46665ab01b33@intel.com> Content-Type: text/plain; charset="utf-8" Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [10.40.190.165] X-CFilter-Loop: Reflected Subject: Re: [dpdk-dev] [PATCH 3/4] 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" On 2021/4/26 20:50, Ferruh Yigit wrote: > On 4/26/2021 1:41 PM, fengchengwen wrote: >> >> >> On 2021/4/26 20:26, Ferruh Yigit wrote: >>> On 4/22/2021 2:55 AM, Min Hu (Connor) wrote: >>>> 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) >>>> --- >>>> drivers/net/hns3/hns3_mbx.c | 5 +++-- >>>> 1 file changed, 3 insertions(+), 2 deletions(-) >>>> >>>> diff --git a/drivers/net/hns3/hns3_mbx.c b/drivers/net/hns3/hns3_mbx.c >>>> index ba04ac9..0550c9a 100644 >>>> --- a/drivers/net/hns3/hns3_mbx.c >>>> +++ b/drivers/net/hns3/hns3_mbx.c >>>> @@ -346,12 +346,13 @@ 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) >>>> +hns3pf_handle_link_change_event(struct hns3_hw *hw, void *data) >>> >>> Why not s/struct hns3_mbx_pf_to_vf_cmd/struct hns3_mbx_vf_to_pf_cmd/ but change >>> to parameter to "void *", wouldn't it reduce the type check? >>> >> >> Only this message needs to be converted using hns3_mbx_vf_to_pf_cmd. >> All other messages are processed using hns3_mbx_pf_to_vf_cmd. >> So here we simplifying fix it. >> > > There is a single caller of the function, which send parameter as "struct > hns3_mbx_pf_to_vf_cmd *req", so what is the point of making the parameter as > "void *" and inside the function cast it to "struct hns3_mbx_vf_to_pf_cmd *req = > data;"? > Instead of defining parameter as "struct hns3_mbx_pf_to_vf_cmd *req". > We'll keep the original API interface and add comments in v2, thanks >> Beside we will refactor hns3_mbx module in later version because the >> PF and VF process logic is mixed. >> > > OK > >> thanks >> >>>> { >>>> #define LINK_STATUS_OFFSET 1 >>>> #define LINK_FAIL_CODE_OFFSET 2 >>>> >>>> + struct hns3_mbx_vf_to_pf_cmd *req = data; >>>> + >>>> if (!req->msg[LINK_STATUS_OFFSET]) >>>> hns3_link_fail_parse(hw, req->msg[LINK_FAIL_CODE_OFFSET]); >>>> >>>> >>> >>> >>> . >>> >> > > > . >