Re: [PATCH V2 net-next 8/8] net: hns3: clear hns alarm: comparison of integer expressions of different signedness

From: Jijie Shao
Date: Thu Jun 19 2025 - 08:05:18 EST



on 2025/6/18 19:29, Simon Horman wrote:
On Tue, Jun 17, 2025 at 09:02:55AM +0800, Jijie Shao wrote:
From: Peiyang Wang <wangpeiyang1@xxxxxxxxxx>

A static alarm exists in the hns and needs to be cleared.
I'm curious to know if you used a tool to flag this.

Sorry, the last reply was not cc to netdev...

Some internal tools, and then there are the compiler options, such as -Wsign-compare.


The alarm is comparison of integer expressions of different
signedness including 's64' and 'long unsigned int',
'int' and 'long unsigned int', 'u32' and 'int',
'int' and 'unsigned int'.

Signed-off-by: Peiyang Wang <wangpeiyang1@xxxxxxxxxx>
Signed-off-by: Jijie Shao <shaojijie@xxxxxxxxxx>
---
.../hns3/hns3_common/hclge_comm_cmd.c | 2 +-
.../net/ethernet/hisilicon/hns3/hns3_enet.c | 22 +++++++-------
.../net/ethernet/hisilicon/hns3/hns3_enet.h | 2 +-
.../ethernet/hisilicon/hns3/hns3_ethtool.c | 4 +--
.../hisilicon/hns3/hns3pf/hclge_debugfs.c | 13 ++++----
.../hisilicon/hns3/hns3pf/hclge_main.c | 30 +++++++++----------
.../hisilicon/hns3/hns3pf/hclge_mbx.c | 7 +++--
.../hisilicon/hns3/hns3pf/hclge_mdio.c | 2 +-
.../hisilicon/hns3/hns3pf/hclge_ptp.h | 2 +-
.../hisilicon/hns3/hns3vf/hclgevf_main.c | 2 +-
.../hisilicon/hns3/hns3vf/hclgevf_mbx.c | 2 +-
11 files changed, 44 insertions(+), 44 deletions(-)

diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_common/hclge_comm_cmd.c b/drivers/net/ethernet/hisilicon/hns3/hns3_common/hclge_comm_cmd.c
index 4ad4e8ab2f1f..37396ca4ecfc 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3_common/hclge_comm_cmd.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3_common/hclge_comm_cmd.c
@@ -348,7 +348,7 @@ static int hclge_comm_cmd_csq_clean(struct hclge_comm_hw *hw)
static int hclge_comm_cmd_csq_done(struct hclge_comm_hw *hw)
{
u32 head = hclge_comm_read_dev(hw, HCLGE_COMM_NIC_CSQ_HEAD_REG);
- return head == hw->cmq.csq.next_to_use;
+ return head == (u32)hw->cmq.csq.next_to_use;
Can the type of next_to_use be changed to an unsigned type?
It would be nice to avoid casts.

Today I plan to modify the next_to_use type,
but I found that if next_to_use is changed to u32,
it will cause many other places to need to synchronously change the variable type.
At a glance, there are dozens of places.

Therefore, I am considering whether this part can remain unchanged.

Thanks
Jijie Shao