From: Claudiu Beznea Date: Mon, 11 Oct 2021 11:27:19 +0000 (+0300) Subject: clk: use clk_core_get_rate_recalc() in clk_rate_get() X-Git-Tag: locking-urgent-2021-11-14~70^2~1^4 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=dd742cac340f3b4711e0c0a355d63133c0ee4944;p=users%2Fdwmw2%2Flinux.git clk: use clk_core_get_rate_recalc() in clk_rate_get() In case clock flags contains CLK_GET_RATE_NOCACHE the clk_rate_get() will return the cached rate. Thus, use clk_core_get_rate_recalc() which takes proper action when clock flags contains CLK_GET_RATE_NOCACHE. Signed-off-by: Claudiu Beznea Link: https://lore.kernel.org/r/20211011112719.3951784-16-claudiu.beznea@microchip.com Acked-by: Nicolas Ferre [sboyd@kernel.org: Grab prepare lock around operation] Signed-off-by: Stephen Boyd --- diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c index 65508eb89ec99..f467d63bbf1ee 100644 --- a/drivers/clk/clk.c +++ b/drivers/clk/clk.c @@ -3108,7 +3108,10 @@ static int clk_rate_get(void *data, u64 *val) { struct clk_core *core = data; - *val = core->rate; + clk_prepare_lock(); + *val = clk_core_get_rate_recalc(core); + clk_prepare_unlock(); + return 0; }