Re: watchdog: pcf2127: systemd fails on 5.11

From: Guenter Roeck
Date: Wed Feb 24 2021 - 10:44:27 EST


On Wed, Feb 24, 2021 at 04:00:14PM +0100, Alexandre Belloni wrote:
> Hi,
>
> On 24/02/2021 15:55:00+0100, Bruno Thomsen wrote:
> > You could be right about that, I don't think the watchdog feature should
> > be available for use if the alarm feature is enabled due to how CTRL2
> > register behaves.
> >
> > The hardware I am testing on is a custom board, but it's actually
> > possible to get a Raspberry Pi module called RasClock that has
> > the chip.
> >
>
> I have an eval board for the PCF2127 (and PCF2129), the OM13513.
>
> > I will test some locking around WD_VAL register access as that is used
> > in pcf2127_wdt_ping function.
> >
> > My initial test shows that spin_lock_irqsave around regmap calls are not
> > a good idea as it result in:
> > BUG: scheduling while atomic: watchdog/70/0x00000002
> > BUG: scheduling while atomic: systemd/1/0x00000002
> >
>
> The issue is not only regmap but the fact that i2C and spi accesses are
> allowed to sleep.
>
Correct, those would have to be mutexes.

Thanks,
Guenter