As a consequence, all functions related to it now have a new parameter-freezer_flag, as shown in the source code(include header files) I discovered this when emerging ipw2200 this morning. I failed to emerge it at first. I am using 2.6.11-nitro0 which was patched with suspend2. However I don't have it compiled in the kernel. In ipw2200.c, there is a conditional compilation. It will check whether your kernel configuration file has CONFIG_SOFTWARE_SUSPEND2 defined. If yes, it will use with-freezer_flag version of create_workqueue(). Otherwise, it use the vanilla version, ie. the one without freezer_flag. Apparently, now my kernel configuration file don't have CONFIG_SOFTWARE_SUSPEND2 defined. So when compiling ipw2200.c, the vallia version of create_workqueue() will be used. However header file "include/linux/workqueue.h" is now patched, so gcc will not find the vanilla version of create_workqueue() in it. That's why the compilation would fail. The solution is easy,