diff options
author | Arik Nemtsov <arik@wizery.com> | 2012-06-25 22:26:20 +0300 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2012-07-10 12:10:13 -0400 |
commit | b034fd6f4fa272569324bb3f29af5ca7cf1e23c3 (patch) | |
tree | 8d02d283db19111d106ec7bcd924a72ced6ee671 /drivers/net/wireless/ti | |
parent | aafec111dd2b74f2ec0f55f0c79144f6558d9205 (diff) |
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 'drivers/net/wireless/ti')
-rw-r--r-- | drivers/net/wireless/ti/wlcore/main.c | 4 |
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); } |