kernel/cciss-fix-irqf-shared.patch

40 lines
1.2 KiB
Diff

cciss: Add IRQF_SHARED back in for the non-MSI(X) interrupt handler
From: Stephen M. Cameron <scameron@beardog.cce.hp.com>
[ 3.1.x backport ]
IRQF_SHARED is required for older controllers that don't support MSI(X)
and which may end up sharing an interrupt.
Also remove deprecated IRQF_DISABLED.
Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
---
drivers/block/cciss.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
RHBZ 754907
diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c
index 8004ac3..6f22ed0 100644
--- a/drivers/block/cciss.c
+++ b/drivers/block/cciss.c
@@ -4880,7 +4880,7 @@ static int cciss_request_irq(ctlr_info_t *h,
{
if (h->msix_vector || h->msi_vector) {
if (!request_irq(h->intr[PERF_MODE_INT], msixhandler,
- IRQF_DISABLED, h->devname, h))
+ 0, h->devname, h))
return 0;
dev_err(&h->pdev->dev, "Unable to get msi irq %d"
" for %s\n", h->intr[h->intr_mode],
@@ -4889,7 +4889,7 @@ static int cciss_request_irq(ctlr_info_t *h,
}
if (!request_irq(h->intr[PERF_MODE_INT], intxhandler,
- IRQF_DISABLED, h->devname, h))
+ IRQF_SHARED, h->devname, h))
return 0;
dev_err(&h->pdev->dev, "Unable to get irq %d for %s\n",
h->intr[h->intr_mode], h->devname);