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 <fengcheng...@huawei.com>
>>>
>>> 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: sta...@dpdk.org
>>>
>>> Signed-off-by: Chengwen Feng <fengcheng...@huawei.com>
>>> Signed-off-by: Min Hu (Connor) <humi...@huawei.com>
>>> ---
>>>  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]);
>>>  
>>>
>>
>>
>> .
>>
> 

Reply via email to