[kernel/f16] Fix IRQ error preventing load of cciss module (rhbz#754907)
Chuck Ebbert
cebbert at fedoraproject.org
Mon Nov 28 21:26:46 UTC 2011
commit 81538f6e8405ff521f674308de7d9765fe90dbc7
Author: Chuck Ebbert <cebbert at redhat.com>
Date: Mon Nov 28 16:26:35 2011 -0500
Fix IRQ error preventing load of cciss module (rhbz#754907)
cciss-fix-irqf-shared.patch | 39 +++++++++++++++++++++++++++++++++++++++
hpsa-add-irqf-shared.patch | 34 ++++++++++++++++++++++++++++++++++
kernel.spec | 13 ++++++++++++-
3 files changed, 85 insertions(+), 1 deletions(-)
---
diff --git a/cciss-fix-irqf-shared.patch b/cciss-fix-irqf-shared.patch
new file mode 100644
index 0000000..d6de3d7
--- /dev/null
+++ b/cciss-fix-irqf-shared.patch
@@ -0,0 +1,39 @@
+cciss: Add IRQF_SHARED back in for the non-MSI(X) interrupt handler
+
+From: Stephen M. Cameron <scameron at 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 at 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);
diff --git a/hpsa-add-irqf-shared.patch b/hpsa-add-irqf-shared.patch
new file mode 100644
index 0000000..d29e235
--- /dev/null
+++ b/hpsa-add-irqf-shared.patch
@@ -0,0 +1,34 @@
+hpsa: Add IRQF_SHARED back in for the non-MSI(X) interrupt handler
+
+From: Stephen M. Cameron <scameron at 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 at 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);
diff --git a/kernel.spec b/kernel.spec
index b6b0ed5..662adb1 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -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 at redhat.com>
+- Fix IRQ error preventing load of cciss module (rhbz#754907)
+
* Mon Nov 28 2011 Ben Skeggs <bskeggs at 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 at redhat.com> 3.1.3-1
+* Sun Nov 27 2011 Chuck Ebbert <cebbert at redhat.com> 3.1.3-1
- Linux 3.1.3
* Wed Nov 23 2011 Chuck Ebbert <cebbert at redhat.com> 3.1.3-0.rc1.1
More information about the scm-commits
mailing list