Skip to contentSkip to conversation

cx88xx: Fix lockup on suspend

PATCH In review Robert Hancock 2 participants 2 messages Jan 5, 2007 – Jan 6, 2007 Media (V4L/DVB)

lore
Share & tools
lore
#0 lore raw

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));
#1 lore raw

Hi!

Quoted 8 lines

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.

Ack,

Review line 44

Quoted 12 lines

---
linux-2.6.20-rc3-git4-orig/drivers/media/video/cx88/cx88-tvaudio.c 2007-01-04 19:51:45.000000000 -0600
+++
linux-2.6.20-rc3-git4/drivers/media/video/cx88/cx88-tvaudio.c 2007-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.