Commit 799a9225 authored by Jinjie Ruan's avatar Jinjie Ruan Committed by Jakub Kicinski

net: enetc: Use IRQF_NO_AUTOEN flag in request_irq()

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: bbb96dc7 ("enetc: Factor out the traffic start/stop procedures")
Signed-off-by: default avatarJinjie Ruan <ruanjinjie@huawei.com>
Link: https://patch.msgid.link/20240911094445.1922476-3-ruanjinjie@huawei.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent e08ec059
...@@ -2305,12 +2305,11 @@ static int enetc_setup_irqs(struct enetc_ndev_priv *priv) ...@@ -2305,12 +2305,11 @@ static int enetc_setup_irqs(struct enetc_ndev_priv *priv)
snprintf(v->name, sizeof(v->name), "%s-rxtx%d", snprintf(v->name, sizeof(v->name), "%s-rxtx%d",
priv->ndev->name, i); 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) { if (err) {
dev_err(priv->dev, "request_irq() failed!\n"); dev_err(priv->dev, "request_irq() failed!\n");
goto irq_err; goto irq_err;
} }
disable_irq(irq);
v->tbier_base = hw->reg + ENETC_BDR(TX, 0, ENETC_TBIER); v->tbier_base = hw->reg + ENETC_BDR(TX, 0, ENETC_TBIER);
v->rbier = hw->reg + ENETC_BDR(RX, i, ENETC_RBIER); v->rbier = hw->reg + ENETC_BDR(RX, i, ENETC_RBIER);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment