[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAK8P3a0JEhhw4vB=YgUJj5_ywds=sVuzPd4Zf0iiRwX4Mgsk3g@mail.gmail.com>
Date: Fri, 12 Feb 2021 21:23:23 +0100
From: Arnd Bergmann <arnd@...nel.org>
To: Grygorii Strashko <grygorii.strashko@...com>
Cc: "Song Bao Hua (Barry Song)" <song.bao.hua@...ilicon.com>,
Andy Shevchenko <andy.shevchenko@...il.com>,
luojiaxing <luojiaxing@...wei.com>,
Linus Walleij <linus.walleij@...aro.org>,
Santosh Shilimkar <ssantosh@...nel.org>,
Kevin Hilman <khilman@...nel.org>,
"open list:GPIO SUBSYSTEM" <linux-gpio@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linuxarm@...neuler.org" <linuxarm@...neuler.org>
Subject: Re: [Linuxarm] Re: [PATCH for next v1 1/2] gpio: omap: Replace
raw_spin_lock_irqsave with raw_spin_lock in omap_gpio_irq_handler()
On Fri, Feb 12, 2021 at 12:53 PM Grygorii Strashko
<grygorii.strashko@...com> wrote:
>
> The worst RT case I can imagine is when gpio API is still called from hard IRQ context by some
> other device driver - some toggling for example.
> Note. RT or "threadirqs" does not mean gpiochip become sleepable.
>
> In this case:
> threaded handler
> raw_spin_lock
> IRQ from other device
> hard_irq handler
> gpiod_x()
> raw_spin_lock_irqsave() -- oops
>
Good point, I had missed the fact that drivers can call gpio functions from
hardirq context when I replied earlier, gpio is clearly special here.
Arnd
Powered by blists - more mailing lists