2015-02-27 12:33:23

by Valentin Rothberg

[permalink] [raw]
Subject: [PATCH] block/cpqarray.c: remove IRQF_DISABLED flag

The IRQF_DISABLED is a NOOP and scheduled to be removed. According to
Ingo Molnar (e58aa3d2d0cc01ad8d6f7f640a0670433f794922) running IRQ
handlers with interrupts enabled can cause stack overflows when the
interrupt line of the issuing device is still active.

Signed-off-by: Valentin Rothberg <[email protected]>
---
drivers/block/cpqarray.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/block/cpqarray.c b/drivers/block/cpqarray.c
index 2b94403..9e92b2c 100644
--- a/drivers/block/cpqarray.c
+++ b/drivers/block/cpqarray.c
@@ -405,8 +405,8 @@ static int cpqarray_register_ctlr(int i, struct pci_dev *pdev)
goto Enomem4;
}
hba[i]->access.set_intr_mask(hba[i], 0);
- if (request_irq(hba[i]->intr, do_ida_intr,
- IRQF_DISABLED|IRQF_SHARED, hba[i]->devname, hba[i]))
+ if (request_irq(hba[i]->intr, do_ida_intr, IRQF_SHARED,
+ hba[i]->devname, hba[i]))
{
printk(KERN_ERR "cpqarray: Unable to get irq %d for %s\n",
hba[i]->intr, hba[i]->devname);
--
1.9.1