Re: [RFC 2/3] windfarm: dont die on suspend thread signal
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2007-01-24 06:32:04
Also in:
linux-pm
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2007-01-24 06:32:04
Also in:
linux-pm
On Tue, 2006-12-12 at 00:02 +0100, Johannes Berg wrote:
plain text document attachment (windfarm-dont-die-on-signals.patch) When the windfarm thread gets a suspend signal it will die instead of freezing. This fixes it. Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
--- linux-2.6-git.orig/drivers/macintosh/windfarm_core.c 2006-12-11 23:34:47.082716759 +0100 +++ linux-2.6-git/drivers/macintosh/windfarm_core.c 2006-12-11 23:37:58.181716759 +0100@@ -93,8 +93,6 @@ static int wf_thread_func(void *data) DBG("wf: thread started\n"); while(!kthread_should_stop()) { - try_to_freeze(); - if (time_after_eq(jiffies, next)) { wf_notify(WF_EVENT_TICK, NULL); if (wf_overtemp) {@@ -117,8 +115,8 @@ static int wf_thread_func(void *data) if (delay <= HZ) schedule_timeout_interruptible(delay); - /* there should be no signal, but oh well */ - if (signal_pending(current)) { + /* there should be no non-suspend signal, but oh well */ + if (signal_pending(current) && !try_to_freeze()) { printk(KERN_WARNING "windfarm: thread got sigl !\n"); break; } --