[PATCH] clk: rockchip: Initialize hw to error to avoid undefined behavior

From: Stephen Boyd
Date: Wed Sep 23 2020 - 20:44:44 EST


We can get down to this return value from ERR_CAST() without
initializing hw. Set it to -ENOMEM so that we always return something
sane.

Fixes the following smatch warning:

drivers/clk/rockchip/clk-half-divider.c:228 rockchip_clk_register_halfdiv() error: uninitialized symbol 'hw'.
drivers/clk/rockchip/clk-half-divider.c:228 rockchip_clk_register_halfdiv() warn: passing zero to 'ERR_CAST'

Cc: Elaine Zhang <zhangqing@xxxxxxxxxxxxxx>
Cc: Heiko Stuebner <heiko@xxxxxxxxx>
Fixes: 956060a52795 ("clk: rockchip: add support for half divider")
Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxx>
---
drivers/clk/rockchip/clk-half-divider.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/clk/rockchip/clk-half-divider.c b/drivers/clk/rockchip/clk-half-divider.c
index e97fd3dfbae7..ccd5c270c213 100644
--- a/drivers/clk/rockchip/clk-half-divider.c
+++ b/drivers/clk/rockchip/clk-half-divider.c
@@ -166,7 +166,7 @@ struct clk *rockchip_clk_register_halfdiv(const char *name,
unsigned long flags,
spinlock_t *lock)
{
- struct clk_hw *hw;
+ struct clk_hw *hw = ERR_PTR(-ENOMEM);
struct clk_mux *mux = NULL;
struct clk_gate *gate = NULL;
struct clk_divider *div = NULL;

base-commit: ca52a47af60f791b08a540a8e14d8f5751ee63e9
--
https://git.kernel.org/pub/scm/linux/kernel/git/clk/linux.git/