Fix IRQ error preventing load of cciss module (rhbz#754907)

This commit is contained in:
Chuck Ebbert 2011-11-28 16:26:35 -05:00
parent 708ec89f8a
commit 81538f6e84
3 changed files with 85 additions and 1 deletions

View File

@ -0,0 +1,39 @@
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);

View File

@ -0,0 +1,34 @@
hpsa: Add IRQF_SHARED back in for the non-MSI(X) interrupt handler
From: Stephen M. Cameron <scameron@beardog.cce.hp.com>
IRQF_SHARED is required for older controllers that don't support MSI(X)
and which may end up sharing an interrupt. All the controllers hpsa
normally supports have MSI(X) capability, but older controllers may be
encountered via the hpsa_allow_any=1 module parameter.
Also remove deprecated IRQF_DISABLED.
Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
---
drivers/scsi/hpsa.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
RHBZ 754907
diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c
index 865d452..594ce83 100644
--- a/drivers/scsi/hpsa.c
+++ b/drivers/scsi/hpsa.c
@@ -4072,10 +4072,10 @@ static int hpsa_request_irq(struct ctlr_info *h,
if (h->msix_vector || h->msi_vector)
rc = request_irq(h->intr[h->intr_mode], msixhandler,
- IRQF_DISABLED, h->devname, h);
+ 0, h->devname, h);
else
rc = request_irq(h->intr[h->intr_mode], intxhandler,
- IRQF_DISABLED, h->devname, h);
+ IRQF_SHARED, h->devname, h);
if (rc) {
dev_err(&h->pdev->dev, "unable to get irq %d for %s\n",
h->intr[h->intr_mode], h->devname);

View File

@ -789,6 +789,10 @@ Patch21080: sysfs-msi-irq-per-device.patch
Patch21090: brcm80211.patch
Patch21091: bcma-brcmsmac-compat.patch
# rhbz 754907
Patch21100: cciss-fix-irqf-shared.patch
Patch21101: hpsa-add-irqf-shared.patch
%endif
BuildRoot: %{_tmppath}/kernel-%{KVERREL}-root
@ -1446,6 +1450,10 @@ ApplyPatch brcm80211.patch
# Remove overlap between bcma/b43 and brcmsmac and reenable bcm4331
ApplyPatch bcma-brcmsmac-compat.patch
# rhbz 754907
ApplyPatch cciss-fix-irqf-shared.patch
ApplyPatch hpsa-add-irqf-shared.patch
# END OF PATCH APPLICATIONS
%endif
@ -2177,10 +2185,13 @@ fi
# and build.
%changelog
* Mon Nov 28 2011 Chuck Ebbert <cebbert@redhat.com>
- Fix IRQ error preventing load of cciss module (rhbz#754907)
* Mon Nov 28 2011 Ben Skeggs <bskeggs@redhat.com> 3.1.3-2
- nouveau: fix two instances of an oops in ttm clear() (rhbz#751753)
* Sun Nov 26 2011 Chuck Ebbert <cebbert@redhat.com> 3.1.3-1
* Sun Nov 27 2011 Chuck Ebbert <cebbert@redhat.com> 3.1.3-1
- Linux 3.1.3
* Wed Nov 23 2011 Chuck Ebbert <cebbert@redhat.com> 3.1.3-0.rc1.1