#11867 BLOC 12.1.0: XO-1.5 - Occasional failure to wake from sleep using rtcwake
Zarro Boogs per Child
bugtracker at laptop.org
Mon Jun 25 16:26:52 EDT 2012
#11867: XO-1.5 - Occasional failure to wake from sleep using rtcwake
--------------------------------+-------------------------------------------
Reporter: Quozl | Owner: pgf
Type: defect | Status: new
Priority: blocker | Milestone: 12.1.0
Component: kernel | Version: Development build as of this date
Resolution: | Keywords:
Next_action: diagnose | Verified: 0
Deployment_affected: | Blockedby:
Blocking: |
--------------------------------+-------------------------------------------
Comment(by pgf):
this patch ensures that wakeups aren't lost if the system takes too long
to suspend. it seems to _do_ the right thing. daniel, could you help
decide whether it _is_ the right thing? :-)
i've verified that the lost wakeups i was observing during an "aggressive"
runin are no longer lost -- the suspend is aborted instead. i've not done
any testing with "normal" runin, as described in the original report.
{{{
From 12a120b191c5454ff14f263546d245c0944fb466 Mon Sep 17 00:00:00 2001
From: Paul Fox <pgf at laptop.org>
Date: Mon, 25 Jun 2012 16:18:55 -0400
Subject: [PATCH] rtc-cmos: report wakeups from interrupt handler
this change complements 5d0b7b9. that commit ensured that after
a wakeup userspace can determine whether the RTC likely caused
that wakeup. that only affects actual wakeups, however. if the
RTC alarm expires before the system has slept, it needs to abort
the in-progress suspend. for this the wakeup event needs to come
from the interrupt handler.
Signed-off-by: Paul Fox <pgf at laptop.org>
---
drivers/rtc/rtc-cmos.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/rtc/rtc-cmos.c b/drivers/rtc/rtc-cmos.c
index d7ad467..3449f5f 100644
--- a/drivers/rtc/rtc-cmos.c
+++ b/drivers/rtc/rtc-cmos.c
@@ -572,6 +572,7 @@ static irqreturn_t cmos_interrupt(int irq, void *p)
spin_unlock(&rtc_lock);
if (is_intr(irqstat)) {
+ pm_wakeup_event(cmos_rtc.dev , 0);
rtc_update_irq(p, 1, irqstat);
return IRQ_HANDLED;
} else
--
1.7.9.5
}}}
--
Ticket URL: <http://dev.laptop.org/ticket/11867#comment:22>
One Laptop Per Child <http://laptop.org/>
OLPC bug tracking system
More information about the Bugs
mailing list