On Tue, Jan 15, 2008 at 08:31:48AM +0800, Dave Young wrote:
Not sure right or not, the following patch fixed the problem:
diff -upr linux/include/linux/workqueue.h linux.new/include/linux/workqueue.h
--- linux/include/linux/workqueue.h 2008-01-15 08:49:08.000000000 +0800
+++ linux.new/include/linux/workqueue.h 2008-01-15 08:49:42.000000000 +0800
@@ -154,7 +154,7 @@ __create_workqueue_key(const char *name,
#ifdef CONFIG_LOCKDEP
#define __create_workqueue(name, singlethread, freezeable) \
({ \
- static struct lock_class_key __key; \
+ struct lock_class_key __key; \
\
__create_workqueue_key((name), (singlethread), \
(freezeable), &__key); \
--