]> git.baikalelectronics.ru Git - kernel.git/commit
net: stmmac: Avoid one more sometimes uninitialized Clang warning
authorNathan Chancellor <natechancellor@gmail.com>
Fri, 8 Mar 2019 04:02:39 +0000 (21:02 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sat, 9 Mar 2019 07:20:22 +0000 (23:20 -0800)
commite66ba913e185b03b987560e0e5d4013983c1b035
treedef3593a26f71a13a544c7adc1f1274ac69d0f5b
parent5f1ffe50ca602b235506ae86f770feb57599a8a8
net: stmmac: Avoid one more sometimes uninitialized Clang warning

When building with -Wsometimes-uninitialized, Clang warns:

drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.c:111:2: error: variable
'ns' is used uninitialized whenever 'if' condition is false
[-Werror,-Wsometimes-uninitialized]
drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.c:111:2: error: variable
'ns' is used uninitialized whenever '&&' condition is false
[-Werror,-Wsometimes-uninitialized]

Clang is concerned with the use of stmmac_do_void_callback (which
stmmac_get_systime wraps), as it may fail to initialize these values if
the if condition was ever false (meaning the callback doesn't exist).
It's not wrong because the callback is what initializes ns. While it's
unlikely that the callback is going to disappear at some point and make
that condition false, we can easily avoid this warning by zero
initializing the variable.

Link: https://github.com/ClangBuiltLinux/linux/issues/384
Fixes: 9031125cb033 ("net: stmmac: Avoid sometimes uninitialized Clang warnings")
Suggested-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.c