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 B6452A0A02; Tue, 27 Apr 2021 14:45:15 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7881E40150; Tue, 27 Apr 2021 14:45:15 +0200 (CEST) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mails.dpdk.org (Postfix) with ESMTP id B34AE4014E for ; Tue, 27 Apr 2021 14:45:14 +0200 (CEST) IronPort-SDR: 3GEgbt5khzN5JbVr1vib2khlBOuhclyfLk34A7UQdhGH+e7TXnL56igtLsP/HtdL0SY0X9kfOg ye3FAQ+Q9bQQ== X-IronPort-AV: E=McAfee;i="6200,9189,9966"; a="193314402" X-IronPort-AV: E=Sophos;i="5.82,254,1613462400"; d="scan'208";a="193314402" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Apr 2021 05:45:13 -0700 IronPort-SDR: KFafbdGd9M0DdcMHqAsp/KJiPt+gsTkGPnPIVvxHAS0etzUBF68p1TbX3sGpCfQB9wc/NcZgTW LoTB0bw+48ow== X-IronPort-AV: E=Sophos;i="5.82,254,1613462400"; d="scan'208";a="457628713" Received: from fyigit-mobl1.ger.corp.intel.com (HELO [10.213.221.231]) ([10.213.221.231]) by fmsmga002-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Apr 2021 05:45:12 -0700 To: "Min Hu (Connor)" , dev@dpdk.org References: <1619056552-43937-4-git-send-email-humin29@huawei.com> <1619525859-4182-1-git-send-email-humin29@huawei.com> From: Ferruh Yigit X-User: ferruhy Message-ID: Date: Tue, 27 Apr 2021 13:45:08 +0100 MIME-Version: 1.0 In-Reply-To: <1619525859-4182-1-git-send-email-humin29@huawei.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Subject: Re: [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" On 4/27/2021 1:17 PM, 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) > --- > 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. > + */ I am asking just to double check, the 'msg' type is different of 'hns3_mbx_pf_to_vf_cmd' & 'hns3_mbx_vf_to_pf_cmd', one is 'uint8_t', other is 'uint16_t', and 'msg' is used in the function 'hns3pf_handle_link_change_event()'. Is the 'msg' usage still correct after this change? > + hns3pf_handle_link_change_event(hw, > + (struct hns3_mbx_vf_to_pf_cmd *)req); Will it be more readable if 'desc->data' cast to "struct hns3_mbx_vf_to_pf_cmd *" (instead of 'req')? Up to you, I can proceed with this one if you prefer.