From: Michal Kazior Date: Fri, 22 Aug 2014 12:33:18 +0000 (+0200) Subject: ath10k: flush hif buffers before recovery X-Git-Tag: firefly_0821_release~176^2~3043^2~133^2~55^2~5 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=61e9aab7a1930ae031d1b9d948837b5ffd8e3f5e;p=firefly-linux-kernel-4.4.55.git ath10k: flush hif buffers before recovery Transport buffers weren't flushed and processed before queueing hw recovery request to mac80211. This could in theory result in an unwanted htt/wmi rx events being processed while mac80211 recovers the device and possibly interfere or even crash the system. Signed-off-by: Michal Kazior Signed-off-by: Kalle Valo --- diff --git a/drivers/net/wireless/ath/ath10k/core.c b/drivers/net/wireless/ath/ath10k/core.c index 23ba32175fcc..157dcf906f29 100644 --- a/drivers/net/wireless/ath/ath10k/core.c +++ b/drivers/net/wireless/ath/ath10k/core.c @@ -665,6 +665,7 @@ static void ath10k_core_restart(struct work_struct *work) switch (ar->state) { case ATH10K_STATE_ON: ar->state = ATH10K_STATE_RESTARTING; + ath10k_hif_stop(ar); ath10k_scan_finish(ar); ieee80211_restart_hw(ar->hw); break;