[PATCH 0/2] NTB: epf: Fix ntb_hw_epf ISR issues
From: Koichiro Den
Date: Wed Mar 04 2026 - 03:30:45 EST
ntb_hw_epf handles doorbell interrupts using multiple MSI/MSI-X vectors.
This small patch series is to address two issues in the interrupt
setup/handler path:
1) ntb_epf_init_isr() does not unwind already requested IRQs when
request_irq() fails part-way through the vector loop.
2) ntb_epf_vec_isr() calls pci_irq_vector() in hardirq context to
derive the vector number. pci_irq_vector() performs an MSI domain
lookup (msi_get_virq()) that takes a mutex, which can trigger
"scheduling while atomic" splats.
Patch 1 fixes the request_irq() unwind path.
Patch 2 caches the Linux IRQ number for vector 0 and uses it as a base in
the ISR, avoiding pci_irq_vector() from hardirq context.
Both patches are Cc'd to stable (v5.12+).
Best regards,
Koichiro
Koichiro Den (2):
NTB: epf: Fix request_irq() unwind in ntb_epf_init_isr()
NTB: epf: Avoid pci_irq_vector() from hardirq context
drivers/ntb/hw/epf/ntb_hw_epf.c | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
--
2.51.0