This is a note to let you know that I've just added the patch titled
Subject: USB: make the autosuspend workqueue thread freezable
to my gregkh-2.6 tree. Its filename is
usb-make-the-autosuspend-workqueue-thread-freezable.patch
This tree can be found at
http://www.kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/patches/
>From [EMAIL PROTECTED] Thu Apr 5 13:05:36 2007
From: Alan Stern <[EMAIL PROTECTED]>
Date: Thu, 5 Apr 2007 16:05:33 -0400 (EDT)
Subject: USB: make the autosuspend workqueue thread freezable
To: Greg KH <[EMAIL PROTECTED]>
Cc: USB development list <[email protected]>
Message-ID: <[EMAIL PROTECTED]>
This patch (as881) makes the ksuspend_usb_wq workqueue freezable. We
don't want a rogue workqueue thread running around, unexpectedly
suspending or resuming USB devices in the middle of a system sleep
transition.
Signed-off-by: Alan Stern <[EMAIL PROTECTED]>
Signed-off-by: Greg Kroah-Hartman <[EMAIL PROTECTED]>
---
drivers/usb/core/usb.c | 3 ++-
include/linux/workqueue.h | 2 ++
2 files changed, 4 insertions(+), 1 deletion(-)
--- a/drivers/usb/core/usb.c
+++ b/drivers/usb/core/usb.c
@@ -206,7 +206,8 @@ struct device_type usb_device_type = {
static int ksuspend_usb_init(void)
{
- ksuspend_usb_wq = create_singlethread_workqueue("ksuspend_usbd");
+ ksuspend_usb_wq = create_singlethread_freezeable_workqueue(
+ "ksuspend_usbd");
if (!ksuspend_usb_wq)
return -ENOMEM;
return 0;
--- a/include/linux/workqueue.h
+++ b/include/linux/workqueue.h
@@ -164,6 +164,8 @@ extern struct workqueue_struct *__create
#define create_workqueue(name) __create_workqueue((name), 0, 0)
#define create_freezeable_workqueue(name) __create_workqueue((name), 0, 1)
#define create_singlethread_workqueue(name) __create_workqueue((name), 1, 0)
+#define create_singlethread_freezeable_workqueue(name) \
+ __create_workqueue((name), 1, 1)
extern void destroy_workqueue(struct workqueue_struct *wq);
Patches currently in gregkh-2.6 which might be from [EMAIL PROTECTED] are
driver/sysfs-add-sysfs_dirent-s_name.patch
driver/sysfs-add-sysfs_dirent-s_parent.patch
driver/sysfs-allocate-inode-number-using-ida.patch
driver/sysfs-consolidate-sysfs_dirent-creation-functions.patch
driver/sysfs-fix-error-handling-in-binattr-write.patch
driver/sysfs-flatten-and-fix-sysfs_rename_dir-error-handling.patch
driver/sysfs-flatten-cleanup-paths-in-sysfs_add_link-and-create_dir.patch
driver/sysfs-implement-bin_buffer.patch
driver/sysfs-implement-kobj_sysfs_assoc_lock.patch
driver/sysfs-implement-sysfs_dirent-active-reference-and-immediate-disconnect.patch
driver/sysfs-kill-attribute-file-orphaning.patch
driver/sysfs-kill-unnecessary-attribute-owner.patch
driver/sysfs-make-sysfs_dirent-s_element-a-union.patch
driver/sysfs-make-sysfs_put-ignore-null-sd.patch
driver/sysfs-move-release_sysfs_dirent-to-dir.c.patch
driver/sysfs-reimplement-syfs_drop_dentry.patch
driver/sysfs-reimplement-symlink-using-sysfs_dirent-tree.patch
driver/sysfs-separate-out-sysfs_attach_dentry.patch
driver/ida-implement-idr-based-id-allocator.patch
driver/idr-fix-obscure-bug-in-allocation-path.patch
driver/idr-separate-out-idr_mark_full.patch
usb/usb-remove-unneeded-warn_on.patch
usb/usb-make-the-autosuspend-workqueue-thread-freezable.patch
usb/usb-more-autosuspend-timer-stuff.patch
usb/usb-set-the-correct-interrupt-interval-in-usb_bulk_msg.patch
usb/ehci-fix-problem-with-bios-handoff.patch
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel