• Mike Turquette's avatar
    clk: prevent spurious parent rate propagation · 63f5c3b2
    Mike Turquette authored
    Patch 'clk: always pass parent_rate into .round_rate' made a subtle
    change to the semantics of .round_rate.  It is now expected for the
    parent's rate to always be passed in, simplifying the implemenation of
    various .round_rate callback definitions.
    
    However the patch also introduced a bug in clk_calc_new_rates whereby a
    clock without the CLK_SET_RATE_PARENT flag set could still propagate a
    rate change up to a parent clock if the the .round_rate callback
    modified the &best_parent_rate value in any way.
    
    This patch fixes the issue at the framework level (in
    clk_calc_new_rates) by specifically handling the case where the
    CLK_SET_RATE_PARENT flag is not set.
    Signed-off-by: default avatarMike Turquette <mturquette@linaro.org>
    Acked-by: default avatarSascha Hauer <s.hauer@pengutronix.de>
    63f5c3b2
clk.c 37.4 KB