• Imre Deak's avatar
    PM / Sleep: fix async suspend_late/freeze_late error handling · 246ef766
    Imre Deak authored
    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>
    Cc: 3.15+ <stable@vger.kernel.org> # 3.15+
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    246ef766
main.c 42 KB