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 <linux-usb-devel@lists.sourceforge.net> 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/ _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel