]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
octeontx2-pf: clear stale mailbox IRQ state before request_irq()
authorRunyu Xiao <runyu.xiao@seu.edu.cn>
Thu, 11 Jun 2026 16:00:13 +0000 (00:00 +0800)
committerJakub Kicinski <kuba@kernel.org>
Mon, 15 Jun 2026 19:47:19 +0000 (12:47 -0700)
commitf918554fb7246e89b98ef90abe80801f038258b3
tree7f4271dbdf3b427aa33d39f77313fa747fd95bb2
parent47186409c092cd7dd70350999186c700233e854d
octeontx2-pf: clear stale mailbox IRQ state before request_irq()

otx2_register_mbox_intr() currently installs the PF mailbox IRQ handler
before clearing stale mailbox interrupt state. The function itself then
comments that the local interrupt bits must be cleared first to avoid
spurious interrupts, but that clear happens only after request_irq() has
already exposed the handler to irq delivery.

A running system can reach this during PF mailbox interrupt registration
while stale or latched RVU_PF_INT state is still present. If delivery
happens in the request_irq()-to-clear window,
otx2_pfaf_mbox_intr_handler() can run before local quiesce and touch
the same pf->mbox and pf->mbox_wq carrier that probe and teardown later
reuse or destroy.

Move the stale mailbox interrupt clear ahead of request_irq(), but keep
interrupt enabling after the handler is installed. This closes the
pre-clear early-IRQ window without creating a new enable-before-handler
window.

Fixes: 5a6d7c9daef3 ("octeontx2-pf: Mailbox communication with AF")
Cc: stable@vger.kernel.org
Signed-off-by: Runyu Xiao <runyu.xiao@seu.edu.cn>
Reviewed-by: Simon Horman <horms@kernel.org>
Reviewed-by: Ratheesh Kannoth <rkannoth@marvell.com>
Link: https://patch.msgid.link/20260611160014.3202224-2-runyu.xiao@seu.edu.cn
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c