clk: renesas: r9a06g032: Repair grave increment error
authorMarek Vasut <marex@denx.de>
Fri, 28 Oct 2022 11:38:34 +0000 (13:38 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 31 Dec 2022 12:14:08 +0000 (13:14 +0100)
[ Upstream commit 02693e11611e082e3c4d8653e8af028e43d31164 ]

If condition (clkspec.np != pd->dev.of_node) is true, then the driver
ends up in an endless loop, forever, locking up the machine.

Fixes: aad03a66f902 ("clk: renesas: r9a06g032: Add clock domain support")
Reviewed-by: Ralph Siemsen <ralph.siemsen@linaro.org>
Signed-off-by: Marek Vasut <marex@denx.de>
Reviewed-by: Gareth Williams <gareth.williams.jx@renesas.com>
Link: https://lore.kernel.org/r/20221028113834.7496-1-marex@denx.de
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/clk/renesas/r9a06g032-clocks.c

index abc0891..3e43ae8 100644 (file)
@@ -386,7 +386,7 @@ static int r9a06g032_attach_dev(struct generic_pm_domain *pd,
        int error;
        int index;
 
-       while (!of_parse_phandle_with_args(np, "clocks", "#clock-cells", i,
+       while (!of_parse_phandle_with_args(np, "clocks", "#clock-cells", i++,
                                           &clkspec)) {
                if (clkspec.np != pd->dev.of_node)
                        continue;
@@ -399,7 +399,6 @@ static int r9a06g032_attach_dev(struct generic_pm_domain *pd,
                        if (error)
                                return error;
                }
-               i++;
        }
 
        return 0;