* [PATCH net-next] declance: Remove IRQF_ONESHOT
@ 2026-01-23 11:06 Sebastian Andrzej Siewior
2026-01-27 3:40 ` Jakub Kicinski
0 siblings, 1 reply; 3+ messages in thread
From: Sebastian Andrzej Siewior @ 2026-01-23 11:06 UTC (permalink / raw)
To: netdev
Cc: Sebastian Andrzej Siewior, Andrew Lunn, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni
Passing IRQF_ONESHOT ensures that the interrupt source is masked until
the secondary (threaded) handler is done. If only a primary handler is
used then the flag makes no sense because the interrupt can not fire
(again) while its handler is running.
The flag also disallows force-threading of the primary handler and the
irq-core will warn about this.
Remove IRQF_ONESHOT to irqflags.
Cc: Andrew Lunn <andrew+netdev@lunn.ch>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
---
lance_dma_merr_int() does nothing but a printk() which means if it is a
level interrupt then once it fires it remains asserted and that printk()
takes over the machine.
I guess it never fires and is just left over debug.
drivers/net/ethernet/amd/declance.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/amd/declance.c b/drivers/net/ethernet/amd/declance.c
index 8d05a0c5f2d5d..e6d56fcdc1ddd 100644
--- a/drivers/net/ethernet/amd/declance.c
+++ b/drivers/net/ethernet/amd/declance.c
@@ -813,7 +813,7 @@ static int lance_open(struct net_device *dev)
if (lp->dma_irq >= 0) {
unsigned long flags;
- if (request_irq(lp->dma_irq, lance_dma_merr_int, IRQF_ONESHOT,
+ if (request_irq(lp->dma_irq, lance_dma_merr_int, 0,
"lance error", dev)) {
free_irq(dev->irq, dev);
printk("%s: Can't get DMA IRQ %d\n", dev->name,
--
2.51.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH net-next] declance: Remove IRQF_ONESHOT
2026-01-23 11:06 [PATCH net-next] declance: Remove IRQF_ONESHOT Sebastian Andrzej Siewior
@ 2026-01-27 3:40 ` Jakub Kicinski
2026-01-27 8:49 ` Sebastian Andrzej Siewior
0 siblings, 1 reply; 3+ messages in thread
From: Jakub Kicinski @ 2026-01-27 3:40 UTC (permalink / raw)
To: Sebastian Andrzej Siewior
Cc: netdev, Andrew Lunn, David S. Miller, Eric Dumazet, Paolo Abeni
On Fri, 23 Jan 2026 12:06:16 +0100 Sebastian Andrzej Siewior wrote:
> Passing IRQF_ONESHOT ensures that the interrupt source is masked until
> the secondary (threaded) handler is done. If only a primary handler is
> used then the flag makes no sense because the interrupt can not fire
> (again) while its handler is running.
> The flag also disallows force-threading of the primary handler and the
> irq-core will warn about this.
>
> Remove IRQF_ONESHOT to irqflags.
>
> Cc: Andrew Lunn <andrew+netdev@lunn.ch>
> Cc: "David S. Miller" <davem@davemloft.net>
> Cc: Eric Dumazet <edumazet@google.com>
> Cc: Jakub Kicinski <kuba@kernel.org>
> Cc: Paolo Abeni <pabeni@redhat.com>
> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
> ---
>
> lance_dma_merr_int() does nothing but a printk() which means if it is a
> level interrupt then once it fires it remains asserted and that printk()
> takes over the machine.
> I guess it never fires and is just left over debug.
have you seen 0fabe1021f8bc9cffdede4ddad0dd04d43c5166c ?
Sounds like it may have been a hack local to MIPS.
On a quick read indeed your changes seems fine but it would give us
certain warm and fuzzies to have the commit message refer to and
reason about the patch that introduced the flag..
--
pw-bot: cr
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH net-next] declance: Remove IRQF_ONESHOT
2026-01-27 3:40 ` Jakub Kicinski
@ 2026-01-27 8:49 ` Sebastian Andrzej Siewior
0 siblings, 0 replies; 3+ messages in thread
From: Sebastian Andrzej Siewior @ 2026-01-27 8:49 UTC (permalink / raw)
To: Jakub Kicinski
Cc: netdev, Andrew Lunn, David S. Miller, Eric Dumazet, Paolo Abeni
On 2026-01-26 19:40:54 [-0800], Jakub Kicinski wrote:
> > lance_dma_merr_int() does nothing but a printk() which means if it is a
> > level interrupt then once it fires it remains asserted and that printk()
> > takes over the machine.
> > I guess it never fires and is just left over debug.
>
> have you seen 0fabe1021f8bc9cffdede4ddad0dd04d43c5166c ?
no, I did now.
> Sounds like it may have been a hack local to MIPS.
> On a quick read indeed your changes seems fine but it would give us
> certain warm and fuzzies to have the commit message refer to and
> reason about the patch that introduced the flag..
Will do so.
Sebastian
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-01-27 8:50 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-23 11:06 [PATCH net-next] declance: Remove IRQF_ONESHOT Sebastian Andrzej Siewior
2026-01-27 3:40 ` Jakub Kicinski
2026-01-27 8:49 ` Sebastian Andrzej Siewior
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox