net: hns3: clean up a type mismatch warning
authorGuojia Liao <liaoguojia@huawei.com>
Mon, 30 Aug 2021 13:51:07 +0000 (21:51 +0800)
committerDavid S. Miller <davem@davemloft.net>
Tue, 31 Aug 2021 11:36:42 +0000 (12:36 +0100)
abs() returns signed long, which could not convert the type
as unsigned, and it may cause a mismatch type warning from
static tools. To fix it, this patch uses an variable to save
the abs()'s result and does a explicit conversion.

Signed-off-by: Guojia Liao <liaoguojia@huawei.com>
Signed-off-by: Guangbin Huang <huangguangbin2@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c

index 0315d8312af3667255b75f1d0021573c2f0fb5de..2ce5302c5956f8dc09ec28595c4dd29cbc0f77d2 100644 (file)
 
 static u16 hclge_errno_to_resp(int errno)
 {
-       return abs(errno);
+       int resp = abs(errno);
+
+       /* The status for pf to vf msg cmd is u16, constrainted by HW.
+        * We need to keep the same type with it.
+        * The intput errno is the stander error code, it's safely to
+        * use a u16 to store the abs(errno).
+        */
+       return (u16)resp;
 }
 
 /* hclge_gen_resp_to_vf: used to generate a synchronous response to VF when PF