• Nicolas Pitre's avatar
    ARM: 7842/1: MCPM: don't explode if invoked without being initialized first · d0cdef6e
    Nicolas Pitre authored
    Currently mcpm_cpu_power_down() and mcpm_cpu_suspend() trigger BUG()
    if mcpm_platform_register() is not called beforehand.  This may occur
    for many reasons such as some incomplete device tree passed to the kernel
    or the like.
    
    Let's be nicer to users and avoid killing the kernel if that happens by
    logging a warning and returning to the caller.  The mcpm_cpu_suspend()
    user is already set to deal with this situation, and so is cpu_die()
    invoking mcpm_cpu_die().
    
    The problematic case would have been the B.L switcher's usage of
    mcpm_cpu_power_down(), however it has to call mcpm_cpu_power_up() first
    which is already set to catch an error resulting from a missing
    mcpm_platform_register() call.
    Signed-off-by: default avatarNicolas Pitre <nico@linaro.org>
    Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
    d0cdef6e
mcpm.h 6.62 KB