ath6kl: Add support to detect fw error through heart beat

This patch adds support to detect fw error condition by sending
periodic message (heart beat challenge) to firmware. Upon reception
of the message, fw would send a response event to driver. When
there are no reponses from fw for about 5 cmd driver would
trigger the recovery logic assuming that fw has gone into an
error state.

Capable fw will advertise this capability through
ATH6KL_FW_CAPABILITY_HEART_BEAT_POLL bit. This feature
is disabled by default, can be enabled through a modparam
(heart_beat_poll). This modparam also confiures the polling
interval in msecs.

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
This commit is contained in:
Vasanthakumar Thiagarajan
2012-08-29 19:40:27 +05:30
committed by Kalle Valo
parent 84caf8005b
commit 9233299394
7 changed files with 129 additions and 9 deletions

View File

@@ -1697,9 +1697,6 @@ int ath6kl_init_hw_stop(struct ath6kl *ar)
void ath6kl_init_hw_restart(struct ath6kl *ar)
{
ar->state = ATH6KL_STATE_RECOVERY;
ath6kl_cfg80211_stop_all(ar);
if (__ath6kl_init_hw_stop(ar))
@@ -1709,9 +1706,6 @@ void ath6kl_init_hw_restart(struct ath6kl *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() */