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)
commit1f5d861f7fefa971b2c6e766f77932c86419a319
treedef3593a26f71a13a544c7adc1f1274ac69d0f5b
parent7cbbee050c959f41b512599bafd99685f419ce26
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: df103170854e ("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