Skip to contentSkip to conversation

wifi: mt76: mt7915: workaround dubious x | !y warning

PATCH Superseded Kalle Valo 2 participants 3 messages Mar 21, 2024

Subsystems (2)

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore

Kalle Valo

author
#0 lore raw

PATCH 1/1 wifi: mt76: mt7915: workaround dubious x | !y warning

Sparse warns:

drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c:526:9: warning: dubious: x | !y

Workaround it by using the '?' operator. Compile tested only.

---
 drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c +1 -1
index 450f4d221184..3f47aafb1a6c 100644
@@ -523,7 +523,7 @@ mt7915_fw_debug_wm_set(void *data, u64 val)
 
 	/* WM CPU info record control */
 	mt76_clear(dev, MT_CPU_UTIL_CTRL, BIT(0));
-	mt76_wr(dev, MT_DIC_CMD_REG_CMD, BIT(2) | BIT(13) | !dev->fw.debug_wm);
+	mt76_wr(dev, MT_DIC_CMD_REG_CMD, BIT(2) | BIT(13) | dev->fw.debug_wm ? 0 : BIT(0));
 	mt76_wr(dev, MT_MCU_WM_CIRQ_IRQ_MASK_CLR_ADDR, BIT(5));
 	mt76_wr(dev, MT_MCU_WM_CIRQ_IRQ_SOFT_ADDR, BIT(5));
 

base-commit: 61cdb09ff760dd32439cde1200a1a8bd208807cd

Signature · 1 line
2.39.2
#1 lore raw
Quoted 16 lines · Kalle Valo

Sparse warns:

drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c:526:9: warning: dubious: x | !y

Workaround it by using the '?' operator. Compile tested only.

---
  drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c +0 -0
index 450f4d221184..3f47aafb1a6c 100644

drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c mt7915_fw_debug_wm_set(void *data, u64 val) · line 526

Quoted 5 lines
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c +1 -1
@@ -523,7 +523,7 @@ mt7915_fw_debug_wm_set(void *data, u64 val)
 
  	/* WM CPU info record control */
  	mt76_clear(dev, MT_CPU_UTIL_CTRL, BIT(0));
-	mt76_wr(dev, MT_DIC_CMD_REG_CMD, BIT(2) | BIT(13) | !dev->fw.debug_wm);
+	mt76_wr(dev, MT_DIC_CMD_REG_CMD, BIT(2) | BIT(13) | dev->fw.debug_wm ? 0 : BIT(0));

clang says "bitwise or with non-zero value always evaluates to true [-Wtautological-bitwise-compare]"

It needs some parenthesis.

author
#2 lore raw
Quoted 23 lines · Nicolas Cavallari
Quoted 14 lines · Kalle Valo

Sparse warns:
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c:526:9: warning:
dubious: x | !y
Workaround it by using the '?' operator. Compile tested only.

---
  drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c +0 -0
index 450f4d221184..3f47aafb1a6c 100644

drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c mt7915_fw_debug_wm_set(void *data, u64 val) · line 525

Quoted 4 lines
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c +1 -1
@@ -523,7 +523,7 @@ mt7915_fw_debug_wm_set(void *data, u64 val)
    	/* WM CPU info record control */
  	mt76_clear(dev, MT_CPU_UTIL_CTRL, BIT(0));
-	mt76_wr(dev, MT_DIC_CMD_REG_CMD, BIT(2) | BIT(13) | !dev->fw.debug_wm);
+	mt76_wr(dev, MT_DIC_CMD_REG_CMD, BIT(2) | BIT(13) | dev->fw.debug_wm ? 0 : BIT(0));

clang says "bitwise or with non-zero value always evaluates to true [-Wtautological-bitwise-compare]"

Quoted 1 line

It needs some parenthesis.

Thanks, I'll send v2.

Signature · 3 lines
https://patchwork.kernel.org/project/linux-wireless/list/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches