Messages in this thread Patch in this message | | | From | Nathan Chancellor <> | Subject | [PATCH net-next] net: mvpp2: Initialize link in mvpp2_isr_handle_{xlg,gmac_internal} | Date | Thu, 10 Sep 2020 10:48:27 -0700 |
| |
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 <natechancellor@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
| |