Skip to content
  • Rafael J. Wysocki's avatar
    PM / wakeup: Integrate mechanism to abort transitions in progress · 8a537ece
    Rafael J. Wysocki authored
    The system wakeup framework is not very consistent with respect to
    the way it handles suspend-to-idle and generally wakeup events
    occurring during transitions to system low-power states.
    
    First off, system transitions in progress are aborted by the event
    reporting helpers like pm_wakeup_event() only if the wakeup_count
    sysfs attribute is in use (as documented), but there are cases in
    which system-wide transitions should be aborted even if that is
    not the case.  For example, a wakeup signal from a designated
    wakeup device during system-wide PM transition, it should cause
    the transition to be aborted right away.
    
    Moreover, there is a freeze_wake() call in wakeup_source_activate(),
    but that really is only effective after suspend_freeze_state has
    been set to FREEZE_STATE_ENTER by freeze_enter().  However, it
    is very unlikely that wakeup_source_activate() will ever be called
    at that time, as it could only be triggered by a IRQF_NO_SUSPEND
    interr...
    8a537ece