rpms/kernel/F-9 linux-2.6-usb-fix-hcd-interrupt-disabling.patch, NONE, 1.1 kernel.spec, 1.745, 1.746
Chuck Ebbert
cebbert at fedoraproject.org
Sat Aug 30 04:47:02 UTC 2008
Author: cebbert
Update of /cvs/pkgs/rpms/kernel/F-9
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv1961
Modified Files:
kernel.spec
Added Files:
linux-2.6-usb-fix-hcd-interrupt-disabling.patch
Log Message:
USB: fix hcd interrupt disabling (#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-9/kernel.spec,v
retrieving revision 1.745
retrieving revision 1.746
diff -u -r1.745 -r1.746
--- kernel.spec 29 Aug 2008 22:58:51 -0000 1.745
+++ kernel.spec 30 Aug 2008 04:46:31 -0000 1.746
@@ -656,6 +656,7 @@
# make USB EHCI driver respect "nousb" parameter
Patch2300: linux-2.6-usb-ehci-hcd-respect-nousb.patch
+Patch2301: linux-2.6-usb-fix-hcd-interrupt-disabling.patch
Patch2501: linux-2.6-ppc-use-libgcc.patch
@@ -1062,7 +1063,10 @@
#
# USB
+# actually honor the nousb parameter
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
# ACPI
# obvious bug in processor driver
@@ -1788,6 +1792,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
+* Fri Aug 29 2008 Chuck Ebbert <cebbert at redhat.com> 2.6.26.3-19
+- USB: fix hcd interrupt disabling (#457165)
+
* Fri Aug 29 2008 Chuck Ebbert <cebbert at redhat.com> 2.6.26.3-18
- x86-64: fix overlap of modules and fixmap areas
- x86: fdiv bug detection fix (#197455)
More information about the fedora-extras-commits
mailing list