Re: [REGRESSION] 41c7f74 rtc: Disable the alarm in the hardware(v2)

From: Brecht Machiels
Date: Thu Dec 05 2013 - 06:52:13 EST


On Mon, 02 Dec 2013 22:19:58 +0100, Borislav Petkov wrote:

> On Mon, Dec 02, 2013 at 12:47:17PM -0800, John Stultz wrote:
>> Ok, sorry about this. I've been hoping we'd get some better insight
>> into what's actually happening on these strange BIOSes where disabling
>> the irq seems to cause it to scream (powering the system back on when
>> its shutdown), in the hopes of having a proper workaround. But despite
>> Borislav's efforts, he didn't seem to be able to root cause the issue.
>
> Right, this bug is too nasty - you could generate good random numbers
> just from how the hardware behaves. :) And I've been trying to make
> sense of what happens but I failed, as you know. :(
>
> I consider it a huge waste of time and efforts having to deal with such
> b0rked hardware instead of throwing it out of the window into the poring
> rain while it is still powered.
>
>> Borislav, could you double check this patch still works on your
>> hardware as well?
>
> Well, we have the patch in SLES11:
>
> http://kernel.opensuse.org/cgit/kernel/commit/?h=SLE11-
SP3&id=835398eb94dca7d55acd1a2628372e602ae3252a
>
> and it passed testing.
>
> From what I see below, your version is equivalent to the one above with
> the logic reversed so it should work. I'll still try to get that
> affected box and run your version on it but it'll take a while.

Hello John and Boris,

Thank you for your quick response. And no need for an apology, I can
understand your frustration with the way some hardware behaves.

I ran with John's patch for a couple of days, and it seems to work.
Curiously, the laptop did spontaneously boot the first time that I shut
it down with the patched kernel. I have no conclusive explanation for
this, but I have noticed that a manual power down is necessary after
booting with an unpatched kernel. Simply rebooting with a patched kernel
is not enough to stop the spontaneous boots. As far as I can remember, I
went directly from my custom kernel (with the v2 patch reverted) to a
kernel with your patch applied, so I'm not 100% convinced everything is
all right. I should say that I did experience some spontaneous boots when
running only Windows XP in the past, so there may be occasions where
drivers might not be able to help at all.

Thankfully, after other shutdowns/hibernates (about 6 in total) the
laptop never booted spontaneously.

As for killing alarm functionality on the affected systems, I did some
quick tests. With the patched kernel, I can set the RTC alarm by echoing
to /sys/class/rtc/rtc0/wakealarm, and the machine will boot at the
specified time. I have also tried setting the RTC alarm, and then
disabling it again by echoing '0' to /sys/class/rtc/rtc0/wakealarm. While
this sets the alrm_time to five minutes in the future, alarm_IRQ is set
to 'no' and the machine does *not* boot spontaneously 5 minutes after
shutting down. So, all seems well, as far as I can see. Unfortunately, I
don't know enough about the RTC driver to draw any conclusions from this.

Best regards,
Brecht

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