[kernel/f15] Fix IRQ error preventing load of cciss module (rhbz#754907)

Chuck Ebbert cebbert at fedoraproject.org
Mon Nov 28 21:37:31 UTC 2011


commit 238fde149d178c8c7b3926b066022e1bbf98fe51
Author: Chuck Ebbert <cebbert at redhat.com>
Date:   Mon Nov 28 16:37:18 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                 |   18 +++++++++++++++---
 3 files changed, 88 insertions(+), 3 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 bd9edeb..73218e0 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -563,6 +563,8 @@ Patch161: linux-2.6-i386-nx-emulation.patch
 
 Patch202: linux-2.6-debug-taint-vm.patch
 
+Patch350: force-version-2.6.patch
+
 Patch383: linux-2.6-defaults-aspm.patch
 
 Patch390: linux-2.6-defaults-acpi-video.patch
@@ -684,7 +686,9 @@ Patch21061: ideapad-Check-if-acpi-already-handle-backlight.patch
 Patch21090: brcm80211.patch
 Patch21091: bcma-brcmsmac-compat.patch
 
-Patch22000: force-version-2.6.patch
+# rhbz 754907
+Patch21100: cciss-fix-irqf-shared.patch
+Patch21101: hpsa-add-irqf-shared.patch
 
 %endif
 
@@ -1129,6 +1133,9 @@ ApplyPatch linux-2.6-acpi-debug-infinite-loop.patch
 ApplyPatch acpi-ensure-thermal-limits-match-cpu-freq.patch
 ApplyPatch acpi-sony-nonvs-blacklist.patch
 
+# force UTSNAME to show version 2.6.4X
+ApplyPatch force-version-2.6.patch
+
 # Various low-impact patches to aid debugging.
 ApplyPatch linux-2.6-debug-taint-vm.patch
 
@@ -1259,7 +1266,9 @@ ApplyPatch brcm80211.patch
 # Remove overlap between bcma/b43 and brcmsmac and reenable bcm4331
 ApplyPatch bcma-brcmsmac-compat.patch
 
-ApplyPatch force-version-2.6.patch
+# rhbz 754907
+ApplyPatch cciss-fix-irqf-shared.patch
+ApplyPatch hpsa-add-irqf-shared.patch
 
 # END OF PATCH APPLICATIONS
 
@@ -1878,7 +1887,10 @@ fi
 # and build.
 
 %changelog
-* Mon Nov 28 2011 Ben Skeggs <bskeggs at redhat.com> 3.1.3-2
+* 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>
 - nouveau: fix two instances of an oops in ttm clear() (rhbz#751753)
 
 * Mon Nov 28 2011 Chuck Ebbert <cebbert at redhat.com> 2.6.41.3-1


More information about the scm-commits mailing list