diff options
author | Arnd Bergmann <arnd@arndb.de> | 2017-08-23 16:39:27 +0200 |
---|---|---|
committer | Stephen Boyd <sboyd@codeaurora.org> | 2017-08-30 22:39:49 -0700 |
commit | 4e903450bcb9a6bc90733b981d7cb8b3c4996a0e (patch) | |
tree | aef081a4148ff1173cb5464b2b889b4952110f73 /drivers/clk/sunxi | |
parent | 2c606871f3d8e3cfd4a079081a7cd9aabdbba99a (diff) | |
download | lwn-4e903450bcb9a6bc90733b981d7cb8b3c4996a0e.tar.gz lwn-4e903450bcb9a6bc90733b981d7cb8b3c4996a0e.zip |
clk: sunxi: fix uninitialized access
gcc-8 reports an uninitialized variable access in a code path
that we would see with incorrect DTB input:
drivers/clk/sunxi/clk-sun8i-bus-gates.c: In function 'sun8i_h3_bus_gates_init':
drivers/clk/sunxi/clk-sun8i-bus-gates.c:85:27: error: 'clk_parent' may be used uninitialized in this function [-Werror=maybe-uninitialized]
This works around by skipping invalid input and printing a warning
instead if it ever happens. The problem was apparently part of the
initiali driver submission, but older compilers don't notice it.
Fixes: ab6e23a4e388 ("clk: sunxi: Add H3 clocks support")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Diffstat (limited to 'drivers/clk/sunxi')
-rw-r--r-- | drivers/clk/sunxi/clk-sun8i-bus-gates.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/clk/sunxi/clk-sun8i-bus-gates.c b/drivers/clk/sunxi/clk-sun8i-bus-gates.c index 63fdb790df29..bee305bdddbe 100644 --- a/drivers/clk/sunxi/clk-sun8i-bus-gates.c +++ b/drivers/clk/sunxi/clk-sun8i-bus-gates.c @@ -78,6 +78,10 @@ static void __init sun8i_h3_bus_gates_init(struct device_node *node) clk_parent = APB1; else if (index >= 96 && index <= 127) clk_parent = APB2; + else { + WARN_ON(true); + continue; + } clk_reg = reg + 4 * (index / 32); clk_bit = index % 32; |