aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ti/wlcore/main.c
diff options
context:
space:
mode:
authorArik Nemtsov <arik@wizery.com>2012-06-25 22:26:20 +0300
committerJohn W. Linville <linville@tuxdriver.com>2012-07-10 12:10:13 -0400
commitb034fd6f4fa272569324bb3f29af5ca7cf1e23c3 (patch)
tree8d02d283db19111d106ec7bcd924a72ced6ee671 /drivers/net/wireless/ti/wlcore/main.c
parentwlcore: avoid debug prints during intended FW recovery (diff)
downloadlinux-dev-b034fd6f4fa272569324bb3f29af5ca7cf1e23c3.tar.xz
linux-dev-b034fd6f4fa272569324bb3f29af5ca7cf1e23c3.zip
wlcore: always clear recovery flag during recovery_work
If recovery is called when the FW is off, we should clear the recovery flag. Otherwise we risk booting the driver in permanent pending-recovery state. Signed-off-by: Arik Nemtsov <arik@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
Diffstat (limited to '')
-rw-r--r--drivers/net/wireless/ti/wlcore/main.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/wireless/ti/wlcore/main.c b/drivers/net/wireless/ti/wlcore/main.c
index c5b8c5cadae6..1590a1ce4abd 100644
--- a/drivers/net/wireless/ti/wlcore/main.c
+++ b/drivers/net/wireless/ti/wlcore/main.c
@@ -926,7 +926,6 @@ static void wl1271_recovery_work(struct work_struct *work)
if (no_recovery) {
wl1271_info("No recovery (chosen on module load). Fw will remain stuck.");
- clear_bit(WL1271_FLAG_RECOVERY_IN_PROGRESS, &wl->flags);
goto out_unlock;
}
@@ -970,7 +969,8 @@ static void wl1271_recovery_work(struct work_struct *work)
wlcore_wake_queues(wl, WLCORE_QUEUE_STOP_REASON_FW_RESTART);
return;
out_unlock:
- wl->watchdog_recovery = false;
+ wl->watchdog_recovery = false;
+ clear_bit(WL1271_FLAG_RECOVERY_IN_PROGRESS, &wl->flags);
mutex_unlock(&wl->mutex);
}