Clang warns (trimmed for brevity): drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c:3073:7: warning: variable 'link' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized] if (val & MVPP22_XLG_STATUS_LINK_UP) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c:3075:31: note: uninitialized use occurs here mvpp2_isr_handle_link(port, link); ^~~~ ... drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c:3090:8: warning: variable 'link' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized] if (val & MVPP2_GMAC_STATUS0_LINK_UP) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c:3092:32: note: uninitialized use occurs here mvpp2_isr_handle_link(port, link); ^~~~
Initialize link to false like it was before the refactoring that happened around link status so that a valid valid is always passed into mvpp2_isr_handle_link. Fixes: 36cfd3a6e52b ("net: mvpp2: restructure "link status" interrupt handling") Link: https://github.com/ClangBuiltLinux/linux/issues/1151 Signed-off-by: Nathan Chancellor <natechancel...@gmail.com> --- drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c index 7d86940747d1..0d5ee96f89b4 100644 --- a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c +++ b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c @@ -3064,7 +3064,7 @@ static void mvpp2_isr_handle_link(struct mvpp2_port *port, bool link) static void mvpp2_isr_handle_xlg(struct mvpp2_port *port) { - bool link; + bool link = false; u32 val; val = readl(port->base + MVPP22_XLG_INT_STAT); @@ -3078,7 +3078,7 @@ static void mvpp2_isr_handle_xlg(struct mvpp2_port *port) static void mvpp2_isr_handle_gmac_internal(struct mvpp2_port *port) { - bool link; + bool link = false; u32 val; if (phy_interface_mode_is_rgmii(port->phy_interface) || base-commit: 4f6a5caf187ff5807cd5b4ea5678982c249bd964 -- 2.28.0