commit | 7a8d37a37380e2b1500592d40b7ec384dbebe7a0 | [log] [tgz] |
---|---|---|
author | Rafael J. Wysocki <rjw@sisk.pl> | Mon Feb 25 00:35:04 2008 +0100 |
committer | Greg Kroah-Hartman <gregkh@suse.de> | Tue Mar 04 14:47:05 2008 -0800 |
tree | 9a23b48e49ffc3303e5998f20498c994da2788c1 | |
parent | a4573c488dd531c6e2d308ce8a7413c4a2646207 [diff] |
PM: Do not acquire device semaphores upfront during suspend Remove the code that acquires all device semaphores from the suspend code path as it causes multiple problems to appear (most notably, http://bugzilla.kernel.org/show_bug.cgi?id=10030) and revert the change introduced by commit 4145ed6dc597a9bea5f6ae8c574653b2de10620f depending on the code being removed. Remove pm_sleep_lock()/pm_sleep_unlock() from device_add() to avoid the issue reported at http://bugzilla.kernel.org/show_bug.cgi?id=9874. It should fix the regreesions reported at: http://bugzilla.kernel.org/show_bug.cgi?id=9874 http://bugzilla.kernel.org/show_bug.cgi?id=10030 Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
diff --git a/drivers/usb/core/usb.c b/drivers/usb/core/usb.c index f6f1990..1f0db51 100644 --- a/drivers/usb/core/usb.c +++ b/drivers/usb/core/usb.c
@@ -233,7 +233,7 @@ * singlethreaded. Its job doesn't justify running on more * than one CPU. */ - ksuspend_usb_wq = create_singlethread_workqueue("ksuspend_usbd"); + ksuspend_usb_wq = create_freezeable_workqueue("ksuspend_usbd"); if (!ksuspend_usb_wq) return -ENOMEM; return 0;