]> git.hungrycats.org Git - linux/commitdiff
clk: rockchip: fix error for unknown clocks
authorSebastian Reichel <sebastian.reichel@collabora.com>
Mon, 25 Mar 2024 19:33:36 +0000 (20:33 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 Oct 2024 10:00:59 +0000 (12:00 +0200)
commit 12fd64babaca4dc09d072f63eda76ba44119816a upstream.

There is a clk == NULL check after the switch to check for
unsupported clk types. Since clk is re-assigned in a loop,
this check is useless right now for anything but the first
round. Let's fix this up by assigning clk = NULL in the
loop before the switch statement.

Fixes: a245fecbb806 ("clk: rockchip: add basic infrastructure for clock branches")
Cc: stable@vger.kernel.org
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
[added fixes + stable-cc]
Link: https://lore.kernel.org/r/20240325193609.237182-6-sebastian.reichel@collabora.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/clk/rockchip/clk.c

index 73d2cbdc716b45d4e9b9825ba2778e39e8e280cf..2fa7253c73b2cdfc5b8c9f73539eb7250be8897b 100644 (file)
@@ -450,12 +450,13 @@ void rockchip_clk_register_branches(struct rockchip_clk_provider *ctx,
                                    struct rockchip_clk_branch *list,
                                    unsigned int nr_clk)
 {
-       struct clk *clk = NULL;
+       struct clk *clk;
        unsigned int idx;
        unsigned long flags;
 
        for (idx = 0; idx < nr_clk; idx++, list++) {
                flags = list->flags;
+               clk = NULL;
 
                /* catch simple muxes */
                switch (list->branch_type) {