cx88xx: Fix lockup on suspend
PATCH 1/1 cx88xx: Fix lockup on suspend
Suspending with the cx88xx module loaded causes the system to lock up because the cx88_audio_thread kthread was missing a try_to_freeze() call, which caused it to go into a tight loop and result in softlockup when suspending. Fix that.
drivers/media/video/cx88/cx88-tvaudio.c +0 -0
@@ -38,6 +38,7 @@
#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/errno.h>
+#include <linux/freezer.h>
#include <linux/kernel.h>
#include <linux/slab.h>
#include <linux/mm.h>
@@ -961,6 +962,7 @@ int cx88_audio_thread(void *data)
msleep_interruptible(1000); if (kthread_should_stop()) break;
+ try_to_freeze();
/* just monitor the audio status for now ... */ memset(&t, 0, sizeof(t));
Hi!
Quoted 8 lines
Suspending with the cx88xx module loaded causes the system to lock up because the
cx88_audio_threadkthread was missing atry_to_freeze()call, which caused it to go into a tight loop and result in softlockup when suspending. Fix that.Signed-off-by Robert Hancock <[email protected]>
Ack,
Review line 44
Quoted 12 lines
---
linux-2.6.20-rc3-git4-orig/drivers/media/video/cx88/cx88-tvaudio.c2007-01-04 19:51:45.000000000 -0600
+++linux-2.6.20-rc3-git4/drivers/media/video/cx88/cx88-tvaudio.c2007-01-04 19:25:19.000000000 -0600(quoted diff) +1
-0@@ -38,6 +38,7 @@ #include <linux/module.h> #include <linux/moduleparam.h> #include <linux/errno.h> +#include <linux/freezer.h> #include <linux/kernel.h> #include <linux/slab.h> #include <linux/mm.h>
but your patch was whitespace-damaged. Can you retry?
Review int cx88_audio_thread(void *data) · line 966
Quoted 6 lines
(quoted diff) +1
-0@@ -961,6 +962,7 @@ int cx88_audio_thread(void *data) msleep_interruptible(1000); if (kthread_should_stop()) break; + try_to_freeze();
Pavel
Signature · 1 line
Thanks for all the (sleeping) penguins.