diff options
author | Michal Kazior <michal.kazior@tieto.com> | 2014-08-28 12:58:17 +0200 |
---|---|---|
committer | Kalle Valo <kvalo@qca.qualcomm.com> | 2014-09-02 10:28:47 +0300 |
commit | e556f111847f94557ce7d5d9435e183783839f63 (patch) | |
tree | a174c6b1efaedefa18bc2ce4e3452dd8d915e773 /drivers/net/wireless | |
parent | 1933747f5c29d38936cb53f35b4d8070f1cbefe2 (diff) | |
download | lwn-e556f111847f94557ce7d5d9435e183783839f63.tar.gz lwn-e556f111847f94557ce7d5d9435e183783839f63.zip |
ath10k: stop monitor vdev for sta assoc
This prevents some fw revisions from crashing in
many cases when user is trying to run a
promiscuous station interface (e.g. sniffing,
4addr bridge).
Signed-off-by: Michal Kazior <michal.kazior@tieto.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r-- | drivers/net/wireless/ath/ath10k/mac.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c index 8d793f31bbd8..100ed4f0cabd 100644 --- a/drivers/net/wireless/ath/ath10k/mac.c +++ b/drivers/net/wireless/ath/ath10k/mac.c @@ -3169,8 +3169,16 @@ static void ath10k_bss_info_changed(struct ieee80211_hw *hw, } if (changed & BSS_CHANGED_ASSOC) { - if (info->assoc) + if (info->assoc) { + /* Workaround: Make sure monitor vdev is not running + * when associating to prevent some firmware revisions + * (e.g. 10.1 and 10.2) from crashing. + */ + if (ar->monitor_started) + ath10k_monitor_stop(ar); ath10k_bss_assoc(hw, vif, info); + ath10k_monitor_recalc(ar); + } } exit: |