• Imre Deak's avatar
    PM / Sleep: fix async suspend_late/freeze_late error handling · 228ed728
    Imre Deak authored
    commit 246ef766 upstream.
    
    If an asynchronous suspend_late or freeze_late callback fails
    during the SUSPEND, FREEZE or QUIESCE phases, we don't propagate the
    corresponding error correctly, in effect ignoring the error and
    continuing the suspend-to-ram/hibernation. During suspend-to-ram this
    could leave some devices without a valid saved context, leading to a
    failure to reinitialize them during resume. During hibernation this
    could leave some devices active interfeering with the creation /
    restoration of the hibernation image. Also this could leave the
    corresponding devices without a valid saved context and failure to
    reinitialize them during resume.
    
    Fixes: de377b39 (PM / sleep: Asynchronous threads for suspend_late)
    Signed-off-by: default avatarImre Deak <imre.deak@intel.com>
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: default avatarLuis Henriques <luis.henriques@canonical.com>
    228ed728
main.c 41.8 KB