Re: [PATCH] clk: imx: composite-93: return timeout from gate enable
From: Frank Li
Date: Thu Sep 10 2026 - 12:01:50 EST
On Fri, Aug 21, 2026 at 04:56:16PM +0800, Linkai Gong wrote:
> [You don't often get email from gonglinkai@xxxxxxxxxx. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification ]
>
> imx93_clk_composite_gate_enable() always returns 0, even when
> imx93_clk_composite_wait_ready() times out.
>
> Fixes: 4a3de5aa7743 ("clk: imx: clk-composite-93: check slice busy")
> Signed-off-by: Linkai Gong <gonglinkai@xxxxxxxxxx>
> ---
Reviewed-by: Frank Li <Frank.Li@xxxxxxx>
> drivers/clk/imx/clk-composite-93.c | 11 ++++++-----
> 1 file changed, 6 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/clk/imx/clk-composite-93.c b/drivers/clk/imx/clk-composite-93.c
> index ef20ceb2d255..953f67d13978 100644
> --- a/drivers/clk/imx/clk-composite-93.c
> +++ b/drivers/clk/imx/clk-composite-93.c
> @@ -43,11 +43,12 @@ static int imx93_clk_composite_wait_ready(struct clk_hw *hw, void __iomem *reg)
> return ret;
> }
>
> -static void imx93_clk_composite_gate_endisable(struct clk_hw *hw, int enable)
> +static int imx93_clk_composite_gate_endisable(struct clk_hw *hw, int enable)
> {
> struct clk_gate *gate = to_clk_gate(hw);
> unsigned long flags;
> u32 reg;
> + int ret;
>
> if (gate->lock)
> spin_lock_irqsave(gate->lock, flags);
> @@ -61,17 +62,17 @@ static void imx93_clk_composite_gate_endisable(struct clk_hw *hw, int enable)
>
> writel(reg, gate->reg);
>
> - imx93_clk_composite_wait_ready(hw, gate->reg);
> + ret = imx93_clk_composite_wait_ready(hw, gate->reg);
>
> if (gate->lock)
> spin_unlock_irqrestore(gate->lock, flags);
> +
> + return ret;
> }
>
> static int imx93_clk_composite_gate_enable(struct clk_hw *hw)
> {
> - imx93_clk_composite_gate_endisable(hw, 1);
> -
> - return 0;
> + return imx93_clk_composite_gate_endisable(hw, 1);
> }
>
> static void imx93_clk_composite_gate_disable(struct clk_hw *hw)
> --
> 2.25.1
>
>