openwrt/target/linux/bcm27xx/patches-5.15/950-0852-clk-Remove-redunda...

35 lines
1.3 KiB
Diff

From 62bc67ade6e30b4a578f105d8bb18de0ffc45a88 Mon Sep 17 00:00:00 2001
From: Maxime Ripard <maxime@cerno.tech>
Date: Sat, 2 Apr 2022 14:06:53 +0200
Subject: [PATCH] clk: Remove redundant clk_core_init_rate_req() call
Since all the users of clk_core_round_rate_nolock() will now properly
initialize, there's no need for it to initialize the request itself.
This is even dangerous, as if the clock cannot change its rate by itself
and has CLK_SET_RATE_PARENT, clk_core_round_rate_nolock() will call
itself with the parent clock but the client clk_rate_request structure.
We will then reinitialize the child request with the parent context
(parent, boundaries, etc.), which is an issue if the parent ever changes
its own parent or parent rate.
Tested-by: Alexander Stein <alexander.stein@ew.tq-group.com> # imx8mp
Tested-by: Marek Szyprowski <m.szyprowski@samsung.com> # exynos4210, meson g12b
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
drivers/clk/clk.c | 2 --
1 file changed, 2 deletions(-)
--- a/drivers/clk/clk.c
+++ b/drivers/clk/clk.c
@@ -1429,8 +1429,6 @@ static int clk_core_round_rate_nolock(st
return 0;
}
- clk_core_init_rate_req(core, req, req->rate);
-
if (clk_core_can_round(core))
return clk_core_determine_round_nolock(core, req);
else if (core->flags & CLK_SET_RATE_PARENT)