• Thomas Gleixner's avatar
    clockevents: make device shutdown robust · 2344abbc
    Thomas Gleixner authored
    The device shut down does not cleanup the next_event variable of the
    clock event device. So when the device is reactivated the possible
    stale next_event value can prevent the device to be reprogrammed as it
    claims to wait on a event already.
    
    This is the root cause of the resurfacing suspend/resume problem,
    where systems need key press to come back to life.
    
    Fix this by setting next_event to KTIME_MAX when the device is shut
    down. Use a separate function for shutdown which takes care of that
    and only keep the direct set mode call in the broadcast code, where we
    can not touch the next_event value.
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    2344abbc
tick-broadcast.c 13.7 KB