]> err.no Git - linux-2.6/commitdiff
[PATCH] airo: check if need to freeze
authorDave Kleikamp <shaggy@austin.ibm.com>
Tue, 10 Oct 2006 21:45:46 +0000 (14:45 -0700)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 17 Oct 2006 00:09:49 +0000 (20:09 -0400)
The airo driver used to break out of while loop if there were any signals
pending.  Since it no longer checks for signals, it at least needs to check
if it needs to be frozen.

Signed-off-by: Dave Kleikamp <shaggy@austin.ibm.com>
Cc: Jean Tourrilhes <jt@hpl.hp.com>
Cc: Sukadev Bhattiprolu <sukadev@us.ibm.com>
Cc: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/airo.c

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