|
@@ -94,7 +94,9 @@ static int wf_thread_func(void *data)
|
|
|
DBG("wf: thread started\n");
|
|
|
|
|
|
set_freezable();
|
|
|
- while(!kthread_should_stop()) {
|
|
|
+ while (!kthread_should_stop()) {
|
|
|
+ try_to_freeze();
|
|
|
+
|
|
|
if (time_after_eq(jiffies, next)) {
|
|
|
wf_notify(WF_EVENT_TICK, NULL);
|
|
|
if (wf_overtemp) {
|
|
@@ -116,12 +118,6 @@ static int wf_thread_func(void *data)
|
|
|
delay = next - jiffies;
|
|
|
if (delay <= HZ)
|
|
|
schedule_timeout_interruptible(delay);
|
|
|
-
|
|
|
- /* 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;
|
|
|
- }
|
|
|
}
|
|
|
|
|
|
DBG("wf: thread stopped\n");
|