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>
 
 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