On Thu, Feb 25, 2021 at 03:59:14PM +0100, Arnd Bergmann wrote: > From: Arnd Bergmann <arnd@xxxxxxxx> > > 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 <arnd@xxxxxxxx> > --- > drivers/net/wireless/mediatek/mt76/mt7915/testmode.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/net/wireless/mediatek/mt76/mt7915/testmode.c b/drivers/net/wireless/mediatek/mt76/mt7915/testmode.c > index 7fb2170a9561..aa629e1fb420 100644 > --- a/drivers/net/wireless/mediatek/mt76/mt7915/testmode.c > +++ b/drivers/net/wireless/mediatek/mt76/mt7915/testmode.c > @@ -543,6 +543,7 @@ mt7915_tm_set_tx_cont(struct mt7915_phy *phy, bool en) > tx_cont->bw = CMD_CBW_20MHZ; > break; > default: > + return -EINVAL; Remove the break if we are adding a return? > break; > } > > @@ -591,6 +592,7 @@ mt7915_tm_set_tx_cont(struct mt7915_phy *phy, bool en) > mode = MT_PHY_TYPE_HE_MU; > break; > default: > + return -EINVAL; > break; > } > > -- > 2.29.2 >