linux/drivers/net/ethernet
Nathan Chancellor df10317085 net: stmmac: Avoid sometimes uninitialized Clang warnings
When building with -Wsometimes-uninitialized, Clang warns:

drivers/net/ethernet/stmicro/stmmac/stmmac_main.c:495:3: warning: variable 'ns' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c:495:3: warning: variable 'ns' is used uninitialized whenever '&&' condition is false [-Wsometimes-uninitialized]
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c:532:3: warning: variable 'ns' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c:532:3: warning: variable 'ns' is used uninitialized whenever '&&' condition is false [-Wsometimes-uninitialized]
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c:741:3: warning: variable 'sec_inc' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c:741:3: warning: variable 'sec_inc' is used uninitialized whenever '&&' condition is false [-Wsometimes-uninitialized]

Clang is concerned with the use of stmmac_do_void_callback (which
stmmac_get_timestamp and stmmac_config_sub_second_increment wrap),
as it may fail to initialize these values if the if condition was ever
false (meaning the callbacks don't exist). It's not wrong because the
callbacks (get_timestamp and config_sub_second_increment respectively)
are the ones that initialize the variables. While it's unlikely that the
callbacks are ever going to disappear and make that condition false, we
can easily avoid this warning by zero initialize the variables.

Link: https://github.com/ClangBuiltLinux/linux/issues/384
Suggested-by: Nick Desaulniers <ndesaulniers@google.com>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-03-07 10:14:19 -08:00
..
3com net: 3com: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-14 12:43:15 -05:00
8390
adaptec net: adaptec: starfire: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-14 12:43:15 -05:00
aeroflex cross-tree: phase out dma_zalloc_coherent() 2019-01-08 07:58:37 -05:00
agere
alacritech cross-tree: phase out dma_zalloc_coherent() 2019-01-08 07:58:37 -05:00
allwinner
alteon net: alteon: replace dev_kfree_skb_irq by dev_consume_skb_irq 2019-01-28 23:09:19 -08:00
altera net: altera_tse: fix msgdma_tx_completion on non-zero fill_level case 2019-01-27 10:39:07 -08:00
amazon net: ena: update driver version from 2.0.2 to 2.0.3 2019-02-12 14:05:07 -05:00
amd net: amd: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-14 11:56:36 -05:00
apm cross-tree: phase out dma_zalloc_coherent() 2019-01-08 07:58:37 -05:00
apple net: apple: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-13 20:50:42 -08:00
aquantia Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-03-02 12:54:35 -08:00
arc net: arc_emac: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-14 12:43:15 -05:00
atheros Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-02-24 12:06:19 -08:00
aurora
broadcom Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-03-02 12:54:35 -08:00
brocade bna: fix indentation issue on call to bfa_ioc_pf_failed 2019-02-02 20:14:38 -08:00
cadence net: macb: Add support for suspend/resume with full power down 2019-03-03 13:51:37 -08:00
calxeda
cavium net: devlink: turn devlink into a built-in 2019-02-26 08:49:05 -08:00
chelsio cxgb4/chtls: Prefix adapter flags with CXGB4 2019-03-04 10:21:32 -08:00
cirrus net: documentation: build a directory structure for drivers 2018-12-05 11:30:06 -08:00
cisco enic: fix build warning without CONFIG_CPUMASK_OFFSTACK 2019-03-07 09:41:08 -08:00
cortina net: gemini: Fix copy/paste error 2018-11-23 22:35:38 -08:00
davicom davicom: Annotate implicit fall through in dm9000_set_io 2019-01-17 15:08:17 -08:00
dec Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-02-08 15:00:17 -08:00
dlink net:dl2k: Replace dev_kfree_skb_irq by dev_consume_skb_irq 2019-02-14 12:25:24 -05:00
emulex benet: remove broken and unused macro 2019-01-28 10:56:01 -08:00
ezchip
faraday drivers: net: Remove unnecessary semicolon 2019-03-01 23:13:49 -08:00
freescale Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2019-03-05 09:09:55 -08:00
fujitsu
hisilicon net: hns3: Fix a logical vs bitwise typo 2019-03-06 10:22:16 -08:00
hp
huawei hinic: Add pci device ids 2019-01-22 14:54:08 -08:00
i825xx net: i825xx: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-14 12:43:14 -05:00
ibm net: emac: remove IBM_EMAC_RX_SKB_HEADROOM 2019-02-06 19:50:41 -08:00
intel ice: fix overlong string, update stats output 2019-02-25 08:56:02 -08:00
marvell sky2: Disable MSI on Dell Inspiron 1545 and Gateway P-79 2019-03-04 11:31:25 -08:00
mediatek drivers: net: Remove unnecessary semicolon 2019-03-01 23:13:49 -08:00
mellanox net/mlx5e: Update tx reporter status in case channels were successfully opened 2019-03-04 11:00:43 -08:00
micrel net: micrel: ks8695net: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-14 11:56:36 -05:00
microchip Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-03-02 12:54:35 -08:00
moxa net: moxa: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-13 20:50:42 -08:00
mscc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-03-04 13:26:15 -08:00
myricom net: myri10ge: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-14 11:56:36 -05:00
natsemi net: ns83820: code cleanup for ns83820_probe_phy() 2019-02-19 14:08:19 -08:00
neterion net: neterion: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-13 20:50:41 -08:00
netronome nfp: nsp: set higher timeout for flash bundle 2019-03-01 11:36:01 -08:00
ni net: nixge: Add support for fixed-link configurations 2019-02-05 10:34:34 -08:00
nuvoton net: nuvoton: w90p910_ether: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-14 11:56:36 -05:00
nvidia
nxp net: lpc_eth: fix trivial comment typo 2018-11-21 16:17:32 -08:00
oki-semi cross-tree: phase out dma_zalloc_coherent() 2019-01-08 07:58:37 -05:00
packetengines net: packetengines: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-14 12:43:15 -05:00
pasemi cross-tree: phase out dma_zalloc_coherent() 2019-01-08 07:58:37 -05:00
qlogic qede: Fix internal loopback failure with jumbo mtu configuration 2019-03-07 09:43:30 -08:00
qualcomm net: qualcomm: emac: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-13 20:50:42 -08:00
rdc
realtek r8169: remove unneeded mmiowb barriers 2019-02-18 16:38:25 -08:00
renesas ravb: Decrease TxFIFO depth of Q3 and Q2 to one 2019-03-07 09:31:05 -08:00
rocker net: Remove switchdev_ops 2019-02-27 12:39:56 -08:00
samsung cross-tree: phase out dma_zalloc_coherent() 2019-01-08 07:58:37 -05:00
seeq
sfc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-02-15 12:38:38 -08:00
sgi net: sgi: use GFP_ATOMIC under spin lock 2019-02-17 15:51:46 -08:00
silan
sis net: sis: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-13 20:50:42 -08:00
smsc smc911x: pass struct device to DMA API functions 2019-02-12 12:09:24 -05:00
socionext cross-tree: phase out dma_zalloc_coherent() 2019-01-08 07:58:37 -05:00
stmicro net: stmmac: Avoid sometimes uninitialized Clang warnings 2019-03-07 10:14:19 -08:00
sun Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-02-08 15:00:17 -08:00
synopsys
tehuti net: tehuti: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-06 17:38:15 -08:00
ti davinci_emac: always build in CONFIG_OF code 2019-03-07 09:22:35 -08:00
toshiba
tundra cross-tree: phase out dma_zalloc_coherent() 2019-01-08 07:58:37 -05:00
via net: via-velocity: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-06 17:38:15 -08:00
wiznet
xilinx net: xilinx: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-14 12:43:15 -05:00
xircom
xscale net: ixp4xx_eth: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-13 20:50:54 -08:00
dnet.c
dnet.h
ec_bhf.c
ethoc.c
fealnx.c net: fealnx: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-13 20:50:42 -08:00
jme.c net: jme: fix indentation issues 2019-01-18 14:02:55 -08:00
jme.h
Kconfig
korina.c
lantiq_etop.c lantiq_etop: pass struct device to DMA API functions 2019-02-12 12:09:23 -05:00
lantiq_xrx200.c net: lantiq: Do not use eth_change_mtu() 2019-02-24 17:35:42 -08:00
Makefile
netx-eth.c