rpms/kernel/F-9 linux-2.6-mmc-wbsd-fix-request_irq.patch, NONE, 1.1 kernel.spec, 1.671, 1.672

Chuck Ebbert (cebbert) fedora-extras-commits at redhat.com
Tue Jun 10 01:28:21 UTC 2008


Author: cebbert

Update of /cvs/pkgs/rpms/kernel/F-9
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv2282

Modified Files:
	kernel.spec 
Added Files:
	linux-2.6-mmc-wbsd-fix-request_irq.patch 
Log Message:
* Mon Jun 09 2008 Chuck Ebbert <cebbert at redhat.com> 2.6.25.6-53
- Fix oops in wbsd MMC driver when card is present during boot (#449817)


linux-2.6-mmc-wbsd-fix-request_irq.patch:

--- NEW FILE linux-2.6-mmc-wbsd-fix-request_irq.patch ---
MMC: wbsd: initialize tasklets before requesting interrupt

With CONFIG_DEBUG_SHIRQ set we will get an interrupt as soon as we
request one. Tasklets may be scheduled in the interrupt handler but
they will be initialized after the handler returns, causing a BUG()
in kernel/softirq.c when they run.

https://bugzilla.redhat.com/show_bug.cgi?id=449817

Signed-off-by: Chuck Ebbert <cebbert at redhat.com>

--- linux-2.6.25.noarch.orig/drivers/mmc/host/wbsd.c
+++ linux-2.6.25.noarch/drivers/mmc/host/wbsd.c
@@ -1457,17 +1457,7 @@ static int __devinit wbsd_request_irq(st
 	int ret;
 
 	/*
-	 * Allocate interrupt.
-	 */
-
-	ret = request_irq(irq, wbsd_irq, IRQF_SHARED, DRIVER_NAME, host);
-	if (ret)
-		return ret;
-
-	host->irq = irq;
-
-	/*
-	 * Set up tasklets.
+	 * Set up tasklets. Must be done before requesting interrupt.
 	 */
 	tasklet_init(&host->card_tasklet, wbsd_tasklet_card,
 			(unsigned long)host);
@@ -1480,6 +1470,15 @@ static int __devinit wbsd_request_irq(st
 	tasklet_init(&host->finish_tasklet, wbsd_tasklet_finish,
 			(unsigned long)host);
 
+	/*
+	 * Allocate interrupt.
+	 */
+	ret = request_irq(irq, wbsd_irq, IRQF_SHARED, DRIVER_NAME, host);
+	if (ret)
+		return ret;
+
+	host->irq = irq;
+
 	return 0;
 }
 


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-9/kernel.spec,v
retrieving revision 1.671
retrieving revision 1.672
diff -u -r1.671 -r1.672
--- kernel.spec	10 Jun 2008 00:39:40 -0000	1.671
+++ kernel.spec	10 Jun 2008 01:27:31 -0000	1.672
@@ -578,6 +578,7 @@
 Patch85: linux-2.6-x86-dont-map-vdso-when-disabled.patch
 Patch86: linux-2.6-x86-dont-use-disabled-vdso-for-signals.patch
 
+# ppc
 Patch123: linux-2.6-ppc-rtc.patch
 Patch140: linux-2.6-ps3-ehci-iso.patch
 Patch141: linux-2.6-ps3-storage-alias.patch
@@ -619,6 +620,8 @@
 Patch450: linux-2.6-input-kill-stupid-messages.patch
 Patch451: linux-2.6-input-fix_fn_key_on_macbookpro_4_1_and_mb_air.patch
 Patch452: linux-2.6-hwmon-applesmc-remove-debugging-messages.patch
+# fix oops in wbsd mmc driver
+Patch453: linux-2.6-mmc-wbsd-fix-request_irq.patch
 Patch460: linux-2.6-serial-460800.patch
 Patch510: linux-2.6-silence-noise.patch
 Patch570: linux-2.6-selinux-mprotect-checks.patch
@@ -677,7 +680,6 @@
 # Fix HID usage descriptor on MS wireless desktop receiver
 Patch2301: linux-2.6-ms-wireless-receiver.patch
 
-
 # usb video
 Patch2400: linux-2.6-uvcvideo.patch
 
@@ -1160,6 +1162,8 @@
 ApplyPatch linux-2.6-input-fix_fn_key_on_macbookpro_4_1_and_mb_air.patch
 # kill annoying applesmc debug messages
 ApplyPatch linux-2.6-hwmon-applesmc-remove-debugging-messages.patch
+# fix oops when mmc card is present during boot
+ApplyPatch linux-2.6-mmc-wbsd-fix-request_irq.patch
 
 # Allow to use 480600 baud on 16C950 UARTs
 ApplyPatch linux-2.6-serial-460800.patch
@@ -1841,6 +1845,9 @@
 %kernel_variant_files -a /%{image_install_path}/xen*-%{KVERREL}.xen -e /etc/ld.so.conf.d/kernelcap-%{KVERREL}.xen.conf %{with_xen} xen
 
 %changelog
+* Mon Jun 09 2008 Chuck Ebbert <cebbert at redhat.com> 2.6.25.6-53
+- Fix oops in wbsd MMC driver when card is present during boot (#449817)
+
 * Mon Jun 09 2008 Chuck Ebbert <cebbert at redhat.com> 2.6.25.6-52
 - Fix init if af_key sockets (F8#450499)
 




More information about the fedora-extras-commits mailing list