From: Dan Williams Date: Mon, 30 Jan 2023 23:39:26 +0000 (-0800) Subject: cxl/pci: Fix irq oneshot expectations X-Git-Tag: v6.6.7~3417^2~1^2~4 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5a84711fd734c09b7d991b00657ba61a96612254;p=platform%2Fkernel%2Flinux-starfive.git 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: a49aa8141b65 ("cxl/mem: Wire up event interrupts") Reported-by: kernel test robot Reported-by: Julia Lawall Cc: Davidlohr Bueso Cc: Ira Weiny Signed-off-by: Dan Williams --- diff --git a/drivers/cxl/pci.c b/drivers/cxl/pci.c index ad2ebe7..4cf9a21 100644 --- a/drivers/cxl/pci.c +++ b/drivers/cxl/pci.c @@ -509,7 +509,8 @@ static int cxl_event_req_irq(struct cxl_dev_state *cxlds, u8 setting) return irq; return devm_request_threaded_irq(dev, irq, NULL, cxl_event_thread, - IRQF_SHARED, NULL, dev_id); + IRQF_SHARED | IRQF_ONESHOT, NULL, + dev_id); } static int cxl_event_get_int_policy(struct cxl_dev_state *cxlds,