Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

EDAC/altera: Remove IRQF_ONESHOT

Passing IRQF_ONESHOT ensures that the interrupt source is masked until
the secondary (threaded) handler is done. If only a primary handler is
used then the flag makes no sense because the interrupt can not fire
(again) while its handler is running.

The flag also prevents force-threading of the primary handler and the
irq-core will warn about this.

Remove IRQF_ONESHOT from irqflags.

Fixes: a29d64a45eed1 ("EDAC, altera: Add IRQ Flags to disable IRQ while handling")
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@kernel.org>
Link: https://patch.msgid.link/20260128095540.863589-11-bigeasy@linutronix.de

authored by

Sebastian Andrzej Siewior and committed by
Thomas Gleixner
5c858d6c 1affd29f

+4 -7
+4 -7
drivers/edac/altera_edac.c
··· 1563 1563 goto err_release_group_1; 1564 1564 } 1565 1565 rc = devm_request_irq(&altdev->ddev, altdev->sb_irq, 1566 - prv->ecc_irq_handler, 1567 - IRQF_ONESHOT | IRQF_TRIGGER_HIGH, 1566 + prv->ecc_irq_handler, IRQF_TRIGGER_HIGH, 1568 1567 ecc_name, altdev); 1569 1568 if (rc) { 1570 1569 edac_printk(KERN_ERR, EDAC_DEVICE, "PortB SBERR IRQ error\n"); ··· 1586 1587 goto err_release_group_1; 1587 1588 } 1588 1589 rc = devm_request_irq(&altdev->ddev, altdev->db_irq, 1589 - prv->ecc_irq_handler, 1590 - IRQF_ONESHOT | IRQF_TRIGGER_HIGH, 1590 + prv->ecc_irq_handler, IRQF_TRIGGER_HIGH, 1591 1591 ecc_name, altdev); 1592 1592 if (rc) { 1593 1593 edac_printk(KERN_ERR, EDAC_DEVICE, "PortB DBERR IRQ error\n"); ··· 1968 1970 goto err_release_group1; 1969 1971 } 1970 1972 rc = devm_request_irq(edac->dev, altdev->sb_irq, prv->ecc_irq_handler, 1971 - IRQF_ONESHOT | IRQF_TRIGGER_HIGH, 1972 - ecc_name, altdev); 1973 + IRQF_TRIGGER_HIGH, ecc_name, altdev); 1973 1974 if (rc) { 1974 1975 edac_printk(KERN_ERR, EDAC_DEVICE, "No SBERR IRQ resource\n"); 1975 1976 goto err_release_group1; ··· 1990 1993 goto err_release_group1; 1991 1994 } 1992 1995 rc = devm_request_irq(edac->dev, altdev->db_irq, prv->ecc_irq_handler, 1993 - IRQF_ONESHOT | IRQF_TRIGGER_HIGH, 1996 + IRQF_TRIGGER_HIGH, 1994 1997 ecc_name, altdev); 1995 1998 if (rc) { 1996 1999 edac_printk(KERN_ERR, EDAC_DEVICE, "No DBERR IRQ resource\n");