[PATCH v2 5/6] watchdog: at91sam9: request the irq with IRQF_NO_SUSPEND

Rafael J. Wysocki
2015-03-08T01:12:53Z

On Saturday, March 07, 2015 12:29:33 PM Pavel Machek wrote:
> On Sat 2015-03-07 12:06:45, Alexandre Belloni wrote:
> > On 07/03/2015 at 11:39:39 +0100, Pavel Machek wrote :
> > > > The Atmel watchdog can't be stopped once it's started. This is actually
> > > > very useful so we can reset if suspend or resume failed, the only
> > > > drawback is that you have to wake up from time to time (e.g. by using
> > > > the RTC/RTT) to clear the watchdog and then go back to sleep ASAP.
> > >
> > > Yeah. So you do "echo mem > /sys/power/state", and few seconds/minutes
> > > after watchdog kills the system. But you did not ask for dead system,
> > > you asked for suspend.
> > >
> > > And while that behaviour is useful for you, I don't think it is
> > > exactly useful behaviour, nor it is the behaviour user would expect.
> > >
> >
> > I think you misunderstood, that is exactly the expected behaviour. This
> > is hardware defined. Once the watchdog is started, nobody can stop it.
> > Trying to change the mode register will result in a reset of the
> > SoC.
>
> Well, it boils down to "what is stronger". Desire to suspend the
> system, or desire to reboot the system.
>
> It is "echo mem > state", not "echo reboot > state".
>
> > It is documented in the datasheet and any user wanting another behaviour
> > is out of luck.
>
> Actaully, your platform should just refuse to enter suspend-to-RAM
> when hw watchdog is enabled.

Quite likely, depending on how exactly the suspend is implemented.

--
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.