wl3501_cs: avoid bogus gcc-6 warning
authorArnd Bergmann <arnd@arndb.de>
Fri, 27 May 2016 15:08:33 +0000 (17:08 +0200)
committerKalle Valo <kvalo@codeaurora.org>
Thu, 16 Jun 2016 15:06:08 +0000 (18:06 +0300)
commit2683f7dd9aaddf2ab8d41fe597bfffda2d6f4ab6
tree87ec0f865a6005db53e08256fdc0eb2031f995f0
parent5e94913f676af0dddeb6e0f3de241de5bd92f3f1
wl3501_cs: avoid bogus gcc-6 warning

gcc-6 on x86 started warning about wl3501_get_encode when building
with -O2:

drivers/net/wireless/wl3501_cs.c: In function ‘wl3501_get_encode’:
drivers/net/wireless/wl3501_cs.c:1769:5: warning: ‘implemented’ may be used uninitialized in this function
drivers/net/wireless/wl3501_cs.c:1686:19: warning: ‘threshold’ may be used uninitialized in this function
drivers/net/wireless/wl3501_cs.c:1702:20: warning: ‘threshold’ may be used uninitialized in this function
drivers/net/wireless/wl3501_cs.c:1719:23: warning: ‘txpow’ may be used uninitialized in this function
drivers/net/wireless/wl3501_cs.c:1752:20: warning: ‘retry’ may be used uninitialized in this function
drivers/net/wireless/wl3501_cs.c:1806:25: warning: ‘pwr_state’ may be used uninitialized in this function
drivers/net/wireless/wl3501_cs.c:1383:24: warning: ‘value’ may be used uninitialized in this function

I could not figure out what exactly confuses gcc here, but splitting the
wl3501_get_mib_value function into two helps the compiler to figure out
that the variables are not actually used uninitialized, and makes it
slightly clearer to a human reader what the function actually does and
which parts of it are under the spinlock.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/wl3501_cs.c