ath6kl: Recover from fw crash
Re-initialize the target when fw crash is reported. This would make the device functional again after target crash. During the target re-initialization it is made sure that target is not bugged with data/cmd request, ar->state ATH6KL_STATE_RECOVERY is used for this purpose. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
This commit is contained in:

committed by
Kalle Valo

parent
ede615d2f0
commit
84caf8005b
@@ -1695,6 +1695,25 @@ int ath6kl_init_hw_stop(struct ath6kl *ar)
|
||||
return 0;
|
||||
}
|
||||
|
||||
void ath6kl_init_hw_restart(struct ath6kl *ar)
|
||||
{
|
||||
|
||||
ar->state = ATH6KL_STATE_RECOVERY;
|
||||
|
||||
ath6kl_cfg80211_stop_all(ar);
|
||||
|
||||
if (__ath6kl_init_hw_stop(ar))
|
||||
return;
|
||||
|
||||
if (__ath6kl_init_hw_start(ar)) {
|
||||
ath6kl_dbg(ATH6KL_DBG_RECOVERY, "Failed to restart during fw error recovery\n");
|
||||
return;
|
||||
}
|
||||
|
||||
ar->state = ATH6KL_STATE_ON;
|
||||
ar->fw_recovery.err_reason = 0;
|
||||
}
|
||||
|
||||
/* FIXME: move this to cfg80211.c and rename to ath6kl_cfg80211_vif_stop() */
|
||||
void ath6kl_cleanup_vif(struct ath6kl_vif *vif, bool wmi_ready)
|
||||
{
|
||||
|
Reference in New Issue
Block a user