41 lines
1.4 KiB
Diff
41 lines
1.4 KiB
Diff
|
|
From 5da4e23263a21a25cc8615427a6a55b4d38c1e9b Mon Sep 17 00:00:00 2001
|
||
|
|
From: Michal Kubecek <mkubecek@suse.cz>
|
||
|
|
Date: Thu, 14 Mar 2019 19:33:16 +0100
|
||
|
|
Subject: [PATCH 32/39] ethtool: qsfp: fix special value comparison
|
||
|
|
|
||
|
|
One of the warnings gcc issues when building ethtool with -Wall seems to
|
||
|
|
point to an actual problem:
|
||
|
|
|
||
|
|
qsfp.c: In function 'sff8636_show_dom':
|
||
|
|
qsfp.c:709:57: warning: comparison is always false due to limited range of data type [-Wtype-limits]
|
||
|
|
if ((sd.sfp_temp[MCURR] == 0x0) || (sd.sfp_temp[MCURR] == 0xFFFF))
|
||
|
|
^~
|
||
|
|
|
||
|
|
Rather than writing the special value as -1 which would be a bit confusing,
|
||
|
|
cast 0xFFFF to __s16.
|
||
|
|
|
||
|
|
Fixes: a5e73bb05ee4 ("ethtool:QSFP Plus/QSFP28 Diagnostics Information Support")
|
||
|
|
Signed-off-by: Michal Kubecek <mkubecek@suse.cz>
|
||
|
|
Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
||
|
|
---
|
||
|
|
qsfp.c | 3 ++-
|
||
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||
|
|
|
||
|
|
diff --git a/qsfp.c b/qsfp.c
|
||
|
|
index d196aa1..d0774b0 100644
|
||
|
|
--- a/qsfp.c
|
||
|
|
+++ b/qsfp.c
|
||
|
|
@@ -706,7 +706,8 @@ static void sff8636_show_dom(const __u8 *id, __u32 eeprom_len)
|
||
|
|
* current fields are supported or not. A valid temperature
|
||
|
|
* reading is used as existence for TX/RX power.
|
||
|
|
*/
|
||
|
|
- if ((sd.sfp_temp[MCURR] == 0x0) || (sd.sfp_temp[MCURR] == 0xFFFF))
|
||
|
|
+ if ((sd.sfp_temp[MCURR] == 0x0) ||
|
||
|
|
+ (sd.sfp_temp[MCURR] == (__s16)0xFFFF))
|
||
|
|
return;
|
||
|
|
|
||
|
|
printf("\t%-41s : %s\n", "Alarm/warning flags implemented",
|
||
|
|
--
|
||
|
|
2.7.4
|
||
|
|
|