diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2007-02-05 19:30:29 +0100 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2007-02-08 16:08:39 +1100 |
commit | 1ed2ddf380e19dafeec2150ca709ef7f4a67cd21 (patch) | |
tree | da2b2eb34a98fdefaee17ec7e35136cff9f65a03 /drivers/macintosh | |
parent | 92d4dda3332577bc2228b8d436f3d2796c59a520 (diff) | |
download | linux-1ed2ddf380e19dafeec2150ca709ef7f4a67cd21.tar.gz linux-1ed2ddf380e19dafeec2150ca709ef7f4a67cd21.tar.bz2 linux-1ed2ddf380e19dafeec2150ca709ef7f4a67cd21.zip |
[POWERPC] windfarm: don't die on suspend thread signal
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>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'drivers/macintosh')
-rw-r--r-- | drivers/macintosh/windfarm_core.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/macintosh/windfarm_core.c b/drivers/macintosh/windfarm_core.c index e947af982f93..94c117ef20c1 100644 --- a/drivers/macintosh/windfarm_core.c +++ b/drivers/macintosh/windfarm_core.c @@ -94,8 +94,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) { @@ -118,8 +116,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; } |