[PATCH] Fix SAK_work workqueue initialization.
authorEric W. Biederman <ebiederm@xmission.com>
Tue, 13 Feb 2007 21:38:58 +0000 (14:38 -0700)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Wed, 14 Feb 2007 00:07:36 +0000 (16:07 -0800)
commit7f1f86a0d04e79f8165e6f50d329a520b8cd11e5
treeb65a460c04a2086baf5c7970c4c4808a93f0c3bf
parent552ce544edfbe9bce79952a8c0f8d65b7f2d16bb
[PATCH] Fix SAK_work workqueue initialization.

Somewhere in the rewrite of the work queues my cleanup of SAK handling
got broken.  Maybe I didn't retest it properly or possibly the API
was changing so fast I missed something.  Regardless currently
triggering a SAK now generates an ugly BUG_ON and kills the kernel.

Thanks to Alexey Dobriyan <adobriyan@openvz.org> for spotting this.

This modifies the use of SAK_work to initialize it when the data
structure it resides in is initialized, and to simply call
schedule_work when we need to generate a SAK.  I update both
data structures that have a SAK_work member for consistency.

All of the old PREPARE_WORK calls that are now gone.

If we call schedule_work again before it has processed it
has generated the first SAK it will simply ignore the duplicate
schedule_work request.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/char/keyboard.c
drivers/char/sysrq.c
drivers/char/tty_io.c
drivers/char/vt.c