[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