summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath6kl/init.c
diff options
context:
space:
mode:
authorVasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>2012-08-29 16:10:27 +0200
committerKalle Valo <kvalo@qca.qualcomm.com>2012-10-24 10:49:48 +0200
commit9233299394de1c571e52ab2dbe1995c1fbdc8fda (patch)
tree875d999ad74083140f1560215a88bc94a6e37286 /drivers/net/wireless/ath/ath6kl/init.c
parentath6kl: Recover from fw crash (diff)
downloadlinux-9233299394de1c571e52ab2dbe1995c1fbdc8fda.tar.xz
linux-9233299394de1c571e52ab2dbe1995c1fbdc8fda.zip
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>
Diffstat (limited to 'drivers/net/wireless/ath/ath6kl/init.c')
-rw-r--r--drivers/net/wireless/ath/ath6kl/init.c6
1 files changed, 0 insertions, 6 deletions
diff --git a/drivers/net/wireless/ath/ath6kl/init.c b/drivers/net/wireless/ath/ath6kl/init.c
index 301443c9f9ee..6e270fa6d63b 100644
--- a/drivers/net/wireless/ath/ath6kl/init.c
+++ b/drivers/net/wireless/ath/ath6kl/init.c
@@ -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() */