|
@@ -3098,7 +3098,8 @@ static int airo_thread(void *data) {
|
|
set_bit(JOB_AUTOWEP, &ai->jobs);
|
|
set_bit(JOB_AUTOWEP, &ai->jobs);
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
- if (!kthread_should_stop()) {
|
|
|
|
|
|
+ if (!kthread_should_stop() &&
|
|
|
|
+ !freezing(current)) {
|
|
unsigned long wake_at;
|
|
unsigned long wake_at;
|
|
if (!ai->expires || !ai->scan_timeout) {
|
|
if (!ai->expires || !ai->scan_timeout) {
|
|
wake_at = max(ai->expires,
|
|
wake_at = max(ai->expires,
|
|
@@ -3110,7 +3111,8 @@ static int airo_thread(void *data) {
|
|
schedule_timeout(wake_at - jiffies);
|
|
schedule_timeout(wake_at - jiffies);
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
- } else if (!kthread_should_stop()) {
|
|
|
|
|
|
+ } else if (!kthread_should_stop() &&
|
|
|
|
+ !freezing(current)) {
|
|
schedule();
|
|
schedule();
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|