diff --git a/[refs] b/[refs] index 14296f46a8a1..e8429337c9f9 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 44ccac13c7f4728cf2992d49384671a176db74dd +refs/heads/master: a2e2e3577c3ef2b5dbb866e97e612aae4adfa32f diff --git a/trunk/kernel/power/main.c b/trunk/kernel/power/main.c index 95bff23ecdaa..0b7476f5d2a6 100644 --- a/trunk/kernel/power/main.c +++ b/trunk/kernel/power/main.c @@ -635,6 +635,13 @@ static void __init test_wakealarm(struct rtc_device *rtc, suspend_state_t state) } 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)