On Thu, Mar 05, 2015 at 03:23:08PM +0100, Valentin Rothberg wrote: > The IRQF_DISABLED is a NOOP and has been scheduled for removal since > Linux v2.6.36 by commit 6932bf37bed4 ("genirq: Remove IRQF_DISABLED from > core code"). > > According to commit e58aa3d2d0cc ("genirq: Run irq handlers with > interrupts disabled") running IRQ handlers with interrupts enabled can > cause stack overflows when the interrupt line of the issuing device is > still active. > > This patch ends the grace period for IRQF_DISABLED (i.e., SA_INTERRUPT > in older versions of Linux) and removes the definition and all remaining > usages of this flag. > > Signed-off-by: Valentin Rothberg <valentinrothberg@xxxxxxxxx> > --- > The bigger hunk in Documentation/scsi/ncr53c8xx.txt is removed entirely > as IRQF_DISABLED is gone now; the usage in older kernel versions > (including the old SA_INTERRUPT flag) should be discouraged. The > trouble of using IRQF_SHARED is a general problem and not specific to > any driver. > > I left the reference in Documentation/PCI/MSI-HOWTO.txt untouched since > it has already been removed in linux-next by commit b0e1ee8e1405 > ("MSI-HOWTO.txt: remove reference on IRQF_DISABLED"). > > All remaining references are changelogs that I suggest to keep. > > Changelog > > v2: Correct previous change to drivers/mtd/nand/hisi504_nand.c that > broke compilation. Reported by Dan Carpenter. > --- > Documentation/scsi/ncr53c8xx.txt | 25 ------------------------- > Documentation/scsi/tmscsim.txt | 4 ---- > arch/mips/loongson/loongson-3/hpet.c | 2 +- > drivers/block/cpqarray.c | 4 ++-- > drivers/bus/omap_l3_noc.c | 4 ++-- > drivers/bus/omap_l3_smx.c | 10 ++++------ > drivers/mtd/nand/hisi504_nand.c | 3 +-- > drivers/usb/isp1760/isp1760-core.c | 3 +-- > drivers/usb/isp1760/isp1760-udc.c | 4 ++-- > include/linux/interrupt.h | 3 --- > 10 files changed, 13 insertions(+), 49 deletions(-) > For this piece: > diff --git a/drivers/mtd/nand/hisi504_nand.c b/drivers/mtd/nand/hisi504_nand.c > index 289ad3ac3e80..8dcc7b8fee40 100644 > --- a/drivers/mtd/nand/hisi504_nand.c > +++ b/drivers/mtd/nand/hisi504_nand.c > @@ -758,8 +758,7 @@ static int hisi_nfc_probe(struct platform_device *pdev) > > hisi_nfc_host_init(host); > > - ret = devm_request_irq(dev, irq, hinfc_irq_handle, IRQF_DISABLED, > - "nandc", host); > + ret = devm_request_irq(dev, irq, hinfc_irq_handle, 0x0, "nandc", host); > if (ret) { > dev_err(dev, "failed to request IRQ\n"); > goto err_res; Acked-by: Brian Norris <computersforpeace@xxxxxxxxx> Sorry for the oversight in review, and thanks for the fixup. Brian