Index: linux-2.6.17-2.2.7-freezer/include/linux/sched.h
===================================================================
--- linux-2.6.17-2.2.7-freezer.orig/include/linux/sched.h	2006-06-18 09:49:35.000000000 +0800
+++ linux-2.6.17-2.2.7-freezer/include/linux/sched.h	2006-07-03 00:04:30.000000000 +0800
@@ -1452,7 +1452,7 @@
 
 extern void refrigerator(void);
 extern int freeze_processes(void);
-extern void thaw_processes(void);
+extern void thaw_processes(int all);
 
 static inline int try_to_freeze(void)
 {
@@ -1471,7 +1471,7 @@
 
 static inline void refrigerator(void) {}
 static inline int freeze_processes(void) { BUG(); return 0; }
-static inline void thaw_processes(void) {}
+static inline void thaw_processes(int all) {}
 
 static inline int try_to_freeze(void) { return 0; }
 
Index: linux-2.6.17-2.2.7-freezer/kernel/power/main.c
===================================================================
--- linux-2.6.17-2.2.7-freezer.orig/kernel/power/main.c	2006-06-18 09:49:35.000000000 +0800
+++ linux-2.6.17-2.2.7-freezer/kernel/power/main.c	2006-07-03 00:19:45.000000000 +0800
@@ -15,6 +15,7 @@
 #include <linux/errno.h>
 #include <linux/init.h>
 #include <linux/pm.h>
+#include <linux/freezer.h>
 
 
 #include "power.h"
@@ -95,7 +96,7 @@
 	if (pm_ops->finish)
 		pm_ops->finish(state);
  Thaw:
-	thaw_processes();
+	thaw_processes(FREEZER_ALL_THREADS);
  Enable_cpu:
 	enable_nonboot_cpus();
 	pm_restore_console();
@@ -133,7 +134,7 @@
 static void suspend_finish(suspend_state_t state)
 {
 	device_resume();
-	thaw_processes();
+	thaw_processes(FREEZER_ALL_THREADS);
 	enable_nonboot_cpus();
 	if (pm_ops && pm_ops->finish)
 		pm_ops->finish(state);
Index: linux-2.6.17-2.2.7-freezer/kernel/power/disk.c
===================================================================
--- linux-2.6.17-2.2.7-freezer.orig/kernel/power/disk.c	2006-06-18 09:49:35.000000000 +0800
+++ linux-2.6.17-2.2.7-freezer/kernel/power/disk.c	2006-07-03 00:19:48.000000000 +0800
@@ -18,6 +18,7 @@
 #include <linux/fs.h>
 #include <linux/mount.h>
 #include <linux/pm.h>
+#include <linux/freezer.h>
 
 #include "power.h"
 
@@ -83,7 +84,7 @@
 	if (!(error = swsusp_shrink_memory()))
 		return 0;
 thaw:
-	thaw_processes();
+	thaw_processes(FREEZER_ALL_THREADS);
 	enable_nonboot_cpus();
 	pm_restore_console();
 	return error;
@@ -92,7 +93,7 @@
 static void unprepare_processes(void)
 {
 	platform_finish();
-	thaw_processes();
+	thaw_processes(FREEZER_ALL_THREADS);
 	enable_nonboot_cpus();
 	pm_restore_console();
 }
Index: linux-2.6.17-2.2.7-freezer/kernel/power/user.c
===================================================================
--- linux-2.6.17-2.2.7-freezer.orig/kernel/power/user.c	2006-06-18 09:49:35.000000000 +0800
+++ linux-2.6.17-2.2.7-freezer/kernel/power/user.c	2006-07-03 00:19:52.000000000 +0800
@@ -19,6 +19,7 @@
 #include <linux/swapops.h>
 #include <linux/pm.h>
 #include <linux/fs.h>
+#include <linux/freezer.h>
 
 #include <asm/uaccess.h>
 
@@ -75,7 +76,7 @@
 	free_bitmap(data->bitmap);
 	if (data->frozen) {
 		down(&pm_sem);
-		thaw_processes();
+		thaw_processes(FREEZER_ALL_THREADS);
 		enable_nonboot_cpus();
 		up(&pm_sem);
 	}
@@ -141,7 +142,7 @@
 		down(&pm_sem);
 		disable_nonboot_cpus();
 		if (freeze_processes()) {
-			thaw_processes();
+			thaw_processes(FREEZER_ALL_THREADS);
 			enable_nonboot_cpus();
 			error = -EBUSY;
 		}
@@ -154,7 +155,7 @@
 		if (!data->frozen)
 			break;
 		down(&pm_sem);
-		thaw_processes();
+		thaw_processes(FREEZER_ALL_THREADS);
 		enable_nonboot_cpus();
 		up(&pm_sem);
 		data->frozen = 0;

