diff --git a/drivers/clk/rockchip/clk-cpu.c b/drivers/clk/rockchip/clk-cpu.c index 696c9fb5837d..94e3b4ca7132 100644 --- a/drivers/clk/rockchip/clk-cpu.c +++ b/drivers/clk/rockchip/clk-cpu.c @@ -217,14 +217,14 @@ static int rockchip_cpuclk_pre_rate_change(struct rockchip_cpuclk *cpuclk, } rockchip_boost_add_core_div(cpuclk->pll_hw, alt_prate); - rockchip_cpuclk_set_pre_muxs(cpuclk, rate); - /* select alternate parent */ writel(HIWORD_UPDATE(reg_data->mux_core_alt, reg_data->mux_core_mask, reg_data->mux_core_shift), cpuclk->reg_base + reg_data->core_reg); + rockchip_cpuclk_set_pre_muxs(cpuclk, rate); + spin_unlock_irqrestore(cpuclk->lock, flags); return 0; }