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 0D7C1A0548; Mon, 26 Apr 2021 14:50:22 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E738441104; Mon, 26 Apr 2021 14:50:21 +0200 (CEST) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mails.dpdk.org (Postfix) with ESMTP id DD32740140 for ; Mon, 26 Apr 2021 14:50:20 +0200 (CEST) IronPort-SDR: NLmmYhMioB3gkCnIs2FnZtM0sLe1hjMscSVwoHabFabsv6yePK5CQYE1ICXH9PqSJU9Wx+0aH4 6hjgxcZ3dz5g== X-IronPort-AV: E=McAfee;i="6200,9189,9965"; a="194209601" X-IronPort-AV: E=Sophos;i="5.82,252,1613462400"; d="scan'208";a="194209601" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Apr 2021 05:50:19 -0700 IronPort-SDR: 7+FV+NeeTg8R6LBcDLIzRkXkyS3I8HCtemBTdkzGiy2Ta668NB0UZgHa81Vw1KVouYezkcQJHl 47OFrkw6IscA== X-IronPort-AV: E=Sophos;i="5.82,252,1613462400"; d="scan'208";a="402913663" Received: from fyigit-mobl1.ger.corp.intel.com (HELO [10.213.240.23]) ([10.213.240.23]) by orsmga002-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Apr 2021 05:50:18 -0700 To: fengchengwen Cc: "Min Hu (Connor)" , dev@dpdk.org 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> From: Ferruh Yigit X-User: ferruhy Message-ID: <74219925-5e0d-bb9a-3e81-46665ab01b33@intel.com> Date: Mon, 26 Apr 2021 13:50:15 +0100 MIME-Version: 1.0 In-Reply-To: <5d7d0346-67a9-5db2-91f7-2cae0e1c901f@huawei.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit 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 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". > 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]); >>> >>> >> >> >> . >> >