rtc-cmos: report wakeups from interrupt handler
When suspending the system with an important RTC wake alarm active, it is possible that the RTC alarm will expire before the system has gone to sleep (e.g. short alarm timer, or an unusually long suspend routine). If this happens, the RTC alarm should trigger a wakeup event, possibly aborting system suspend. This condition can be detected in the form of an RTC alarm interrupt. Signed-off-by: Paul Fox <pgf@laptop.org> Signed-off-by: Daniel Drake <dsd@laptop.org> Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
This commit is contained in:
parent
4f31f5b19e
commit
b45bae36b8
|
@ -568,6 +568,7 @@ static irqreturn_t cmos_interrupt(int irq, void *p)
|
|||
hpet_mask_rtc_irq_bit(RTC_AIE);
|
||||
|
||||
CMOS_READ(RTC_INTR_FLAGS);
|
||||
pm_wakeup_event(cmos_rtc.dev, 0);
|
||||
}
|
||||
spin_unlock(&rtc_lock);
|
||||
|
||||
|
|
Loading…
Reference in New Issue