rpms/kernel/F-12 usb-obey-the-sysfs-power-wakeup-setting.patch, NONE, 1.1 kernel.spec, 1.2113, 1.2114

Chuck Ebbert cebbert at fedoraproject.org
Mon Jul 26 18:33:57 UTC 2010


Author: cebbert

Update of /cvs/pkgs/rpms/kernel/F-12
In directory cvs01.phx2.fedoraproject.org:/tmp/cvs-serv10789

Modified Files:
	kernel.spec 
Added Files:
	usb-obey-the-sysfs-power-wakeup-setting.patch 
Log Message:
usb-obey-the-sysfs-power-wakeup-setting.patch:
  Restore ability of USB devices to wake the machine (F13#617559)

usb-obey-the-sysfs-power-wakeup-setting.patch:
 driver.c |   15 ++-------------
 1 file changed, 2 insertions(+), 13 deletions(-)

--- NEW FILE usb-obey-the-sysfs-power-wakeup-setting.patch ---
This patch (as1403b) is a backport of commit
48826626263d4a61d06fd8c5805da31f925aefa0 (USB: obey the sysfs
power/wakeup setting) to 2.6.{32,33}.stable.  It turns out that the
bug it fixes does affect quite a few people using USB infrared
remotes.  The symptom is that the remote can no longer wake up the
system from suspend.

This fixes Bugzilla #16043.

Red Hat Bugzilla #617559

Signed-off-by: Alan Stern <stern at xxxxxxxxxxxxxxxxxxx>

---

Index: 2.6.33.5/drivers/usb/core/driver.c
===================================================================
--- 2.6.33.5.orig/drivers/usb/core/driver.c
+++ 2.6.33.5/drivers/usb/core/driver.c
@@ -1790,9 +1790,6 @@ int usb_external_resume_device(struct us
 
 static void choose_wakeup(struct usb_device *udev, pm_message_t msg)
 {
-	int			w, i;
-	struct usb_interface	*intf;
-
 	/* Remote wakeup is needed only when we actually go to sleep.
 	 * For things like FREEZE and QUIESCE, if the device is already
 	 * autosuspended then its current wakeup setting is okay.
@@ -1802,18 +1799,10 @@ static void choose_wakeup(struct usb_dev
 		return;
 	}
 
-	/* If remote wakeup is permitted, see whether any interface drivers
+	/* Allow remote wakeup if it is enabled, even if no interface drivers
 	 * actually want it.
 	 */
-	w = 0;
-	if (device_may_wakeup(&udev->dev) && udev->actconfig) {
-		for (i = 0; i < udev->actconfig->desc.bNumInterfaces; i++) {
-			intf = udev->actconfig->interface[i];
-			w |= intf->needs_remote_wakeup;
-		}
-	}
-
-	udev->do_remote_wakeup = w;
+	udev->do_remote_wakeup = device_may_wakeup(&udev->dev);
 }
 
 int usb_suspend(struct device *dev, pm_message_t msg)



Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-12/kernel.spec,v
retrieving revision 1.2113
retrieving revision 1.2114
diff -u -p -r1.2113 -r1.2114
--- kernel.spec	26 Jul 2010 17:33:34 -0000	1.2113
+++ kernel.spec	26 Jul 2010 18:33:57 -0000	1.2114
@@ -853,6 +853,8 @@ Patch14050: crypto-add-async-hash-testin
 Patch14100: cifs-fix-malicious-redirect-problem-in-the-dns-lookup-code.patch
 Patch14110: ext4-make-sure-the-move_ext-ioctl-can-t-overwrite-append-only-files.patch
 
+Patch14120: usb-obey-the-sysfs-power-wakeup-setting.patch
+
 # ==============================================================================
 %endif
 
@@ -1570,6 +1572,9 @@ ApplyPatch cifs-fix-malicious-redirect-p
 # CVE-2010-2066
 ApplyPatch ext4-make-sure-the-move_ext-ioctl-can-t-overwrite-append-only-files.patch
 
+# fix broken USB device wakeups (#617559)
+ApplyPatch usb-obey-the-sysfs-power-wakeup-setting.patch
+
 # END OF PATCH APPLICATIONS ====================================================
 %endif
 
@@ -2220,6 +2225,10 @@ fi
 %kernel_variant_files -k vmlinux %{with_kdump} kdump
 
 %changelog
+* Mon Jul 26 2010 Chuck Ebbert <cebbert at redhat.com>  2.6.32.16-152
+- usb-obey-the-sysfs-power-wakeup-setting.patch:
+  Restore ability of USB devices to wake the machine (F13#617559)
+
 * Mon Jul 26 2010 Eric Sandeen <sandeen at redhat.com> 2.6.32.16-151
 - Fix ext4 metadata vs. quota reservation bug (#608770)
 



More information about the scm-commits mailing list