• Alex Elder's avatar
    clk: only call get_parent if there is one · 12d29886
    Alex Elder authored
    In __clk_init(), after a clock is mostly initialized, a scan is done
    of the orphan clocks to see if the clock being registered is the
    parent of any of them.
    
    This code assumes that any clock that provides a get_parent method
    actually has at least one parent, and that's not a valid assumption.
    
    As a result, an orphan clock with no parent can return *something*
    as the parent index, and that value is blindly used to dereference
    the orphan's parent_names[] array (which will be ZERO_SIZE_PTR or
    NULL).
    
    Fix this by ensuring get_parent is only called for orphans with at
    least one parent.
    Signed-off-by: default avatarAlex Elder <elder@linaro.org>
    Signed-off-by: default avatarMike Turquette <mturquette@linaro.org>
    12d29886
clk.c 54.3 KB