[patch 2.6.26-git] pm selftest: rtc paranoia

From: David Brownell
Date: Fri Jul 25 2008 - 16:27:09 EST


From: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx>

Cope with a quirk of some RTCs (notably ACPI ones) which
aren't guaranteed to implement oneshot behavior when they
woke the system from sleeep: forcibly disable the alarm,
just in case.

Signed-off-by: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx>
---
kernel/power/main.c | 7 +++++++
1 file changed, 7 insertions(+)

--- a/kernel/power/main.c 2008-07-22 16:38:32.000000000 -0700
+++ b/kernel/power/main.c 2008-07-22 16:39:15.000000000 -0700
@@ -635,6 +635,13 @@ static void __init test_wakealarm(struct
}
if (status < 0)
printk(err_suspend, status);
+
+ /* Some platforms can't detect that the alarm triggered the
+ * wakeup, or (accordingly) disable it after it afterwards.
+ * It's supposed to give oneshot behavior; cope.
+ */
+ alm.enabled = false;
+ rtc_set_alarm(rtc, &alm);
}

static int __init has_wakealarm(struct device *dev, void *name_ptr)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/