When the windfarm thread gets a suspend signal it will die instead of freezing. This fixes it. Signed-off-by: Johannes Berg <johannes at sipsolutions.net> --- Adresses Christoph's comment: This keeps the original try_to_freeze() in place and just remove the code that kills the thread on a signal. --- mb-wireless.orig/drivers/macintosh/windfarm_core.c 2007-02-05 16:07:10.524524763 +0100 +++ mb-wireless/drivers/macintosh/windfarm_core.c 2007-02-05 23:49:46.004524763 +0100 @@ -117,12 +117,6 @@ static int wf_thread_func(void *data) delay = next - jiffies; if (delay <= HZ) schedule_timeout_interruptible(delay); - - /* there should be no signal, but oh well */ - if (signal_pending(current)) { - printk(KERN_WARNING "windfarm: thread got sigl !\n"); - break; - } } DBG("wf: thread stopped\n");