Skip to content

Commit 5a84711

Browse files
committed
cxl/pci: Fix irq oneshot expectations
The IRQ core expects that users of the default hardirq handler specify IRQF_ONESHOT to keep interrupts disabled until the threaded handler runs. That meets the CXL driver's expectations since it is an edge triggered MSI and this flag would have been passed by default using pci_request_irq() instead of devm_request_threaded_irq(). Fixes: a49aa81 ("cxl/mem: Wire up event interrupts") Reported-by: kernel test robot <[email protected]> Reported-by: Julia Lawall <[email protected]> Cc: Davidlohr Bueso <[email protected]> Cc: Ira Weiny <[email protected]> Signed-off-by: Dan Williams <[email protected]>
1 parent fa88434 commit 5a84711

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

drivers/cxl/pci.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -509,7 +509,8 @@ static int cxl_event_req_irq(struct cxl_dev_state *cxlds, u8 setting)
509509
return irq;
510510

511511
return devm_request_threaded_irq(dev, irq, NULL, cxl_event_thread,
512-
IRQF_SHARED, NULL, dev_id);
512+
IRQF_SHARED | IRQF_ONESHOT, NULL,
513+
dev_id);
513514
}
514515

515516
static int cxl_event_get_int_policy(struct cxl_dev_state *cxlds,

0 commit comments

Comments
 (0)