From 7e1eff676257218a124c1a55ccbe09c5bff2bbb1 Mon Sep 17 00:00:00 2001 From: Arnd Bergmann Date: Fri, 26 Feb 2021 15:21:27 +0100 Subject: [PATCH] mt76: mt7915: fix unused 'mode' variable clang points out a possible corner case in the mt7915_tm_set_tx_cont() function if called with invalid arguments: drivers/net/wireless/mediatek/mt76/mt7915/testmode.c:593:2: warning: variable 'mode' is used uninitialized whenever switch default is taken [-Wsometimes-uninitialized] default: ^~~~~~~ drivers/net/wireless/mediatek/mt76/mt7915/testmode.c:597:13: note: uninitialized use occurs here rateval = mode << 6 | rate_idx; ^~~~ drivers/net/wireless/mediatek/mt76/mt7915/testmode.c:506:37: note: initialize the variable 'mode' to silence this warning u8 rate_idx = td->tx_rate_idx, mode; ^ Change it to return an error instead of continuing with invalid data here. Fixes: 3f0caa3cbf94 ("mt76: mt7915: add support for continuous tx in testmode") Signed-off-by: Arnd Bergmann Signed-off-by: Kalle Valo --- mt7915/testmode.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/mt7915/testmode.c b/mt7915/testmode.c index a76af070..bd798df7 100644 --- a/mt7915/testmode.c +++ b/mt7915/testmode.c @@ -543,7 +543,7 @@ mt7915_tm_set_tx_cont(struct mt7915_phy *phy, bool en) tx_cont->bw = CMD_CBW_20MHZ; break; default: - break; + return -EINVAL; } if (!en) { @@ -569,6 +569,9 @@ mt7915_tm_set_tx_cont(struct mt7915_phy *phy, bool en) case MT76_TM_TX_MODE_CCK: mode = MT_PHY_TYPE_CCK; break; + case MT76_TM_TX_MODE_OFDM: + mode = MT_PHY_TYPE_OFDM; + break; case MT76_TM_TX_MODE_HT: mode = MT_PHY_TYPE_HT; break; @@ -587,10 +590,8 @@ mt7915_tm_set_tx_cont(struct mt7915_phy *phy, bool en) case MT76_TM_TX_MODE_HE_MU: mode = MT_PHY_TYPE_HE_MU; break; - case MT76_TM_TX_MODE_OFDM: default: - mode = MT_PHY_TYPE_OFDM; - break; + return -EINVAL; } rateval = mode << 6 | rate_idx;