projects
/
linux-2.6-microblaze.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
e08ec05
)
net: enetc: Use IRQF_NO_AUTOEN flag in request_irq()
author
Jinjie Ruan
<ruanjinjie@huawei.com>
Wed, 11 Sep 2024 09:44:44 +0000
(17:44 +0800)
committer
Jakub Kicinski
<kuba@kernel.org>
Fri, 13 Sep 2024 03:35:04 +0000
(20:35 -0700)
disable_irq() after request_irq() still has a time gap in which
interrupts can come. request_irq() with IRQF_NO_AUTOEN flag will
disable IRQ auto-enable when request IRQ.
Fixes:
bbb96dc7fa1a
("enetc: Factor out the traffic start/stop procedures")
Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com>
Link:
https://patch.msgid.link/20240911094445.1922476-3-ruanjinjie@huawei.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/freescale/enetc/enetc.c
patch
|
blob
|
history
diff --git
a/drivers/net/ethernet/freescale/enetc/enetc.c
b/drivers/net/ethernet/freescale/enetc/enetc.c
index
5c45f42
..
f04f42e
100644
(file)
--- a/
drivers/net/ethernet/freescale/enetc/enetc.c
+++ b/
drivers/net/ethernet/freescale/enetc/enetc.c
@@
-2305,12
+2305,11
@@
static int enetc_setup_irqs(struct enetc_ndev_priv *priv)
snprintf(v->name, sizeof(v->name), "%s-rxtx%d",
priv->ndev->name, i);
- err = request_irq(irq, enetc_msix,
0
, v->name, v);
+ err = request_irq(irq, enetc_msix,
IRQF_NO_AUTOEN
, v->name, v);
if (err) {
dev_err(priv->dev, "request_irq() failed!\n");
goto irq_err;
}
- disable_irq(irq);
v->tbier_base = hw->reg + ENETC_BDR(TX, 0, ENETC_TBIER);
v->rbier = hw->reg + ENETC_BDR(RX, i, ENETC_RBIER);