rpms/kernel/F-8 linux-2.6-usb-fix-hcd-interrupt-disabling.patch, NONE, 1.1 kernel.spec, 1.517, 1.518

Chuck Ebbert cebbert at fedoraproject.org
Sat Aug 30 04:50:28 UTC 2008


Author: cebbert

Update of /cvs/pkgs/rpms/kernel/F-8
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv2291

Modified Files:
	kernel.spec 
Added Files:
	linux-2.6-usb-fix-hcd-interrupt-disabling.patch 
Log Message:
USB: fix hcd interrupt disabling (F9#457165)

linux-2.6-usb-fix-hcd-interrupt-disabling.patch:

--- NEW FILE linux-2.6-usb-fix-hcd-interrupt-disabling.patch ---
>From geoffrey.levand at am.sony.com  Wed Aug 27 10:58:58 2008
From: Geoff Levand <geoffrey.levand at am.sony.com>
Date: Fri, 22 Aug 2008 14:13:00 -0700
Subject: USB: fix hcd interrupt disabling
To: Greg Kroah-Hartman <gregkh at suse.de>
Cc: linux-usb at vger.kernel.org, Stefan Becker <Stefan.Becker at nokia.com>
Message-ID: <48AF2BDC.7090507 at am.sony.com>

From: Geoff Levand <geoffrey.levand at am.sony.com>

Commit de85422b94ddb23c021126815ea49414047c13dc, 'USB: fix interrupt
disabling for HCDs with shared interrupt handlers' changed usb_add_hcd()
to strip IRQF_DISABLED from irqflags prior to calling request_irq()
with the justification that such a removal was necessary for shared
interrupts to work properly.  Unfortunately, the change in that commit
unconditionally removes the IRQF_DISABLED flag, causing problems on
platforms that don't use a shared interrupt but require IRQF_DISABLED.
This change adds a check for IRQF_SHARED prior to removing the
IRQF_DISABLED flag.

Fixes the PS3 system startup hang reported with recent Fedora and
OpenSUSE kernels.

Note that this problem is hidden when CONFIG_LOCKDEP=y (ps3_defconfig),
as local_irq_enable_in_hardirq() is defined as a null statement for
that config.

CC: stable <stable at kernel.org>
Signed-off-by: Geoff Levand <geoffrey.levand at am.sony.com>
Cc: Alan Stern <stern at rowland.harvard.edu>
Cc: Stefan Becker <Stefan.Becker at nokia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

---
 drivers/usb/core/hcd.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

--- a/drivers/usb/core/hcd.c
+++ b/drivers/usb/core/hcd.c
@@ -1876,7 +1876,8 @@ int usb_add_hcd(struct usb_hcd *hcd,
 		 * with IRQF_SHARED. As usb_hcd_irq() will always disable
 		 * interrupts we can remove it here.
 		 */
-		irqflags &= ~IRQF_DISABLED;
+		if (irqflags & IRQF_SHARED)
+			irqflags &= ~IRQF_DISABLED;
 
 		snprintf(hcd->irq_descr, sizeof(hcd->irq_descr), "%s:usb%d",
 				hcd->driver->description, hcd->self.busnum);


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-8/kernel.spec,v
retrieving revision 1.517
retrieving revision 1.518
diff -u -r1.517 -r1.518
--- kernel.spec	29 Aug 2008 23:03:04 -0000	1.517
+++ kernel.spec	30 Aug 2008 04:49:57 -0000	1.518
@@ -653,6 +653,7 @@
 Patch1101: linux-2.6-default-mmf_dump_elf_headers.patch
 
 Patch1308: linux-2.6-usb-ehci-hcd-respect-nousb.patch
+Patch1309: linux-2.6-usb-fix-hcd-interrupt-disabling.patch
 
 Patch1400: linux-2.6-smarter-relatime.patch
 
@@ -1164,6 +1165,8 @@
 # USB
 # respect the 'nousb' boot option
 ApplyPatch linux-2.6-usb-ehci-hcd-respect-nousb.patch
+# fix USB on the PS3
+ApplyPatch linux-2.6-usb-fix-hcd-interrupt-disabling.patch
 
 # ISDN
 
@@ -1779,9 +1782,12 @@
 
 
 %changelog
+* Fri Aug 29 2008 Chuck Ebbert <cebbert at redhat.com> 2.6.26.3-8
+- USB: fix hcd interrupt disabling (F9#457165)
+
 * Fri Aug 29 2008 Chuck Ebbert <cebbert at redhat.com> 2.6.26.3-7
 - x86-64: fix overlap of modules and fixmap areas
-- x86: fdiv bug detection fix (#197455)
+- x86: fdiv bug detection fix (F9#197455)
 
 * Fri Aug 29 2008 Chuck Ebbert <cebbert at redhat.com> 2.6.26.3-6
 - Silence MMCONFIG printk during boot.




More information about the fedora-extras-commits mailing list