On Sun, 20 May 2007, Andrey Borzenkov wrote:
On Mon, 21 May 2007, Rafael J. Wysocki wrote:
It turns out that the patch I originally wrote to fix this is in
conflict with one of Raphael's patches (make freezeable workqueues
singlethread) already added to 2.6.22-rc2. So here's an updated
version for that kernel.
Andrey, Soeren, and Avuton: Please try this patch with 2.6.22-rc2 or
later and see if it fixes your problems.
Greg, if this works then I'll send it in the proper form for a patch,
and you can use it to replace
usb-make-the-autosuspend-workqueue-thread-freezable.patch
Alan Stern
Index: 2.6.22-rc2/drivers/usb/core/usb.c
===================================================================
--- 2.6.22-rc2.orig/drivers/usb/core/usb.c
+++ 2.6.22-rc2/drivers/usb/core/usb.c
@@ -205,7 +205,7 @@ struct device_type usb_device_type = {
static int ksuspend_usb_init(void)
{
- ksuspend_usb_wq = create_singlethread_workqueue("ksuspend_usbd");
+ ksuspend_usb_wq = create_freezeable_workqueue("ksuspend_usbd");
if (!ksuspend_usb_wq)
return -ENOMEM;
return 0;
-