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>
This commit is contained in:
parent
aafec111dd
commit
b034fd6f4f
1 changed files with 2 additions and 2 deletions
|
@ -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)
|
||||||
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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue