Commit 4e903450 authored by Arnd Bergmann's avatar Arnd Bergmann Committed by Stephen Boyd

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: ab6e23a4 ("clk: sunxi: Add H3 clocks support")
Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
Acked-by: default avatarMaxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
parent 2c606871
...@@ -78,6 +78,10 @@ static void __init sun8i_h3_bus_gates_init(struct device_node *node) ...@@ -78,6 +78,10 @@ static void __init sun8i_h3_bus_gates_init(struct device_node *node)
clk_parent = APB1; clk_parent = APB1;
else if (index >= 96 && index <= 127) else if (index >= 96 && index <= 127)
clk_parent = APB2; clk_parent = APB2;
else {
WARN_ON(true);
continue;
}
clk_reg = reg + 4 * (index / 32); clk_reg = reg + 4 * (index / 32);
clk_bit = index % 32; clk_bit = index % 32;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment