[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <874itx4ys2.ffs@tglx>
Date: Sat, 23 Aug 2025 21:35:09 +0200
From: Thomas Gleixner <tglx@...utronix.de>
To: Edgar Bonet <bonet@...noble.cnrs.fr>, Geert Uytterhoeven
<geert@...ux-m68k.org>
Cc: Nicolas Ferre <nicolas.ferre@...rochip.com>, Alexandre Belloni
<alexandre.belloni@...tlin.com>, Claudiu Beznea
<claudiu.beznea@...on.dev>, linux-kernel@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, Huacai Chen <chenhuacai@...nel.org>,
Jiaxun Yang <jiaxun.yang@...goat.com>
Subject: Re: [ISSUE + PATCH] Interrupts were enabled early by spinlock guard
On Sat, Aug 23 2025 at 21:33, Thomas Gleixner wrote:
> On Thu, Aug 14 2025 at 17:28, Edgar Bonet wrote:
>>> I think the conversions in
>>> drivers/irqchip/irq-atmel-aic.c:aic_irq_domain_xlate() and
>>> drivers/irqchip/irq-loongson-liointc.c:liointc_set_type()
>>> are also wrong, and need a similar change.
>
>> The one in irq-atmel-aic.c looks indeed strikingly similar.
>
> Yes. My bad.
>
> I missed the fact, that this can be invoked during early boot when
> interrupts are still disabled. After early boot they are always enabled
> when xlate() is invoked.
>
>> The one in irq-loongson-liointc.c is slightly different
>> though. Instead of:
>>
>> irq_gc_lock_irqsave() -> guard(raw_spinlock_irq)
>>
>> it does:
>>
>> irq_gc_lock_irqsave() -> guard(raw_spinlock)
>>
>> I don't know what the implications are though.
>
> That's in the set_type() callback which is always invoked with the
> interrupt decriptor lock held and interrupts disabled, so doing the
> 'save/restore' dance there is pointless.
>
> Can you send a patch for that atmel-aic thing too please?
Nah. Let me just fold it into your patch and be done with it.
Powered by blists - more mailing lists