[REGRESSION] rtc/interface.c: kills suspend-to-ram

From: Mark Lord
Date: Mon Apr 16 2012 - 00:46:14 EST


Something recent has killed suspend-to-ram on a number of machines here.
The symptom is that they suspend, but immediately wake up and panic,
with just a black screen so no visible messages to go by.

The patch below works around the issue -- making things work as they used to work.

--- linux/drivers/rtc/interface.c.orig 2012-04-16 00:08:47.615389718 -0400
+++ linux/drivers/rtc/interface.c 2012-04-16 00:09:14.105387382 -0400
@@ -773,7 +773,7 @@
if (!rtc->ops || !rtc->ops->alarm_irq_enable)
return;

- rtc->ops->alarm_irq_enable(rtc->dev.parent, false);
+ //rtc->ops->alarm_irq_enable(rtc->dev.parent, false); // Kills suspend on ZBOX HD-ID41U
}

/**


Last known working kernel was 3.2.11.
The line above got added somewhere between it and 3.2.15,
and is also present (no surprise) in newer kernels.

The highest kernel I've tested for this is 3.3.2,
which also fails until I nuke the line shown above.

This is straight x86_64 (Atom) hardware, using rtc-cmos.
I can re-test if anyone has a fix for this.

Meanwhile, whatever patch put this into -stable probably
ought to be reverted upstream and in -stable as well.

Cheers

--
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/