summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/ath/ath10k/mac.h
diff options
context:
space:
mode:
authorMichal Kazior <michal.kazior@tieto.com>2014-10-28 12:34:38 +0300
committerKalle Valo <kvalo@qca.qualcomm.com>2014-10-31 03:32:28 +0300
commit7962b0d898accdc683955af495528d4d6d24e0b3 (patch)
treefab5ef20667739f5e2627a9084a1e9b2efe45fdc /drivers/net/wireless/ath/ath10k/mac.h
parent605cdba1c92308fc39b5e1a0f226c14a7769889a (diff)
downloadlinux-7962b0d898accdc683955af495528d4d6d24e0b3.tar.xz
ath10k: speed up hw recovery
In some cases hw recovery was taking an absurdly long time due to ath10k waiting for things that would never really complete. Instead of waiting for inevitable timeouts poke all completions and wakequeues and check if it's still worth waiting. Reading/writing ar->state requires conf_mutex. Since waiters might be holding it introduce a new flag CRASH_FLUSH so it's possible to tell waiters to abort whatever they were waiting for. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath10k/mac.h')
-rw-r--r--drivers/net/wireless/ath/ath10k/mac.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath10k/mac.h b/drivers/net/wireless/ath/ath10k/mac.h
index 965c51117499..4e3c989aa841 100644
--- a/drivers/net/wireless/ath/ath10k/mac.h
+++ b/drivers/net/wireless/ath/ath10k/mac.h
@@ -40,6 +40,7 @@ void ath10k_mgmt_over_wmi_tx_purge(struct ath10k *ar);
void ath10k_mgmt_over_wmi_tx_work(struct work_struct *work);
void ath10k_halt(struct ath10k *ar);
void ath10k_mac_vif_beacon_free(struct ath10k_vif *arvif);
+void ath10k_drain_tx(struct ath10k *ar);
static inline struct ath10k_vif *ath10k_vif_to_arvif(struct ieee80211_vif *vif)
{