[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMRc=Me15MyNJiU9E-E2R9yHZ4XaS=zAuETvzKFh8=K0B4rKPw@mail.gmail.com>
Date: Thu, 3 Apr 2025 15:56:37 +0200
From: Bartosz Golaszewski <brgl@...ev.pl>
To: Andy Shevchenko <andriy.shevchenko@...el.com>
Cc: Geert Uytterhoeven <geert@...ux-m68k.org>, Linus Walleij <linus.walleij@...aro.org>,
Francesco Dolcini <francesco@...cini.it>, Bartosz Golaszewski <bartosz.golaszewski@...aro.org>,
Emanuele Ghidoli <emanuele.ghidoli@...adex.com>, linux-gpio@...r.kernel.org,
linux-kernel@...r.kernel.org, Marek Vasut <marek.vasut@...il.com>,
stable@...r.kernel.org, Francesco Dolcini <francesco.dolcini@...adex.com>
Subject: Re: [PATCH v1] gpio: pca953x: fix IRQ storm on system wake up
On Thu, Apr 3, 2025 at 3:54 PM Andy Shevchenko
<andriy.shevchenko@...el.com> wrote:
>
> +Cc: Geert
>
> On Thu, Apr 03, 2025 at 02:07:05PM +0200, Bartosz Golaszewski wrote:
> > On Wed, 26 Mar 2025 18:38:38 +0100, Francesco Dolcini wrote:
>
> > > If an input changes state during wake-up and is used as an interrupt
> > > source, the IRQ handler reads the volatile input register to clear the
> > > interrupt mask and deassert the IRQ line. However, the IRQ handler is
> > > triggered before access to the register is granted, causing the read
> > > operation to fail.
> > >
> > > As a result, the IRQ handler enters a loop, repeatedly printing the
> > > "failed reading register" message, until `pca953x_resume` is eventually
> > > called, which restores the driver context and enables access to
> > > registers.
>
> [...]
>
> > Applied, thanks!
>
> Won't this regress as it happens the last time [1]?
>
> [1]: https://lore.kernel.org/linux-gpio/CAMuHMdVnKX23yi7ir1LVxfXAMeeWMFzM+cdgSSTNjpn1OnC2xw@mail.gmail.com/
>
Ah, good catch. I'm wondering what the right fix here is but don't
really have any ideas at the moment. Any hints are appreciated.
For now, I'm dropping it.
Bart
Powered by blists - more mailing lists