mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-05 18:41:58 +09:00
net: enetc: Use IRQF_NO_AUTOEN flag in request_irq()
[ Upstream commit 799a9225997799f7b1b579bc50a93b78b4fb2a01 ]
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: bbb96dc7fa ("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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
abe09d6b06
commit
d2d2ecd436
@@ -2181,12 +2181,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);
|
||||||
|
|||||||
Reference in New Issue
Block a user