Commit b034fd6f authored by Arik Nemtsov's avatar Arik Nemtsov Committed by John W. Linville

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: default avatarArik Nemtsov <arik@wizery.com>
Signed-off-by: default avatarLuciano Coelho <coelho@ti.com>
parent aafec111
...@@ -926,7 +926,6 @@ static void wl1271_recovery_work(struct work_struct *work) ...@@ -926,7 +926,6 @@ static void wl1271_recovery_work(struct work_struct *work)
if (no_recovery) { if (no_recovery) {
wl1271_info("No recovery (chosen on module load). Fw will remain stuck."); wl1271_info("No recovery (chosen on module load). Fw will remain stuck.");
clear_bit(WL1271_FLAG_RECOVERY_IN_PROGRESS, &wl->flags);
goto out_unlock; goto out_unlock;
} }
...@@ -970,7 +969,8 @@ static void wl1271_recovery_work(struct work_struct *work) ...@@ -970,7 +969,8 @@ static void wl1271_recovery_work(struct work_struct *work)
wlcore_wake_queues(wl, WLCORE_QUEUE_STOP_REASON_FW_RESTART); wlcore_wake_queues(wl, WLCORE_QUEUE_STOP_REASON_FW_RESTART);
return; return;
out_unlock: out_unlock:
wl->watchdog_recovery = false; wl->watchdog_recovery = false;
clear_bit(WL1271_FLAG_RECOVERY_IN_PROGRESS, &wl->flags);
mutex_unlock(&wl->mutex); mutex_unlock(&wl->mutex);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment