 drivers/input/serio/serio.c   |    6 ++++++
 drivers/media/video/tvaudio.c |    1 +
 fs/jffs/intrep.c              |    3 +++
 3 files changed, 10 insertions(+)
diff -ruNp 232-freezer-modifications-old/drivers/input/serio/serio.c 232-freezer-modifications-new/drivers/input/serio/serio.c
--- 232-freezer-modifications-old/drivers/input/serio/serio.c	2005-07-18 06:36:46.000000000 +1000
+++ 232-freezer-modifications-new/drivers/input/serio/serio.c	2005-07-18 13:51:52.000000000 +1000
@@ -308,6 +308,12 @@ static void serio_handle_events(void)
 
 		serio_remove_duplicate_events(event);
 		serio_free_event(event);
+
+		if (unlikely(freezing(current))) {
+			up(&serio_sem);
+			try_to_freeze();
+			down(&serio_sem);
+		}
 	}
 
 	up(&serio_sem);

