45 lines
1.7 KiB
Diff
45 lines
1.7 KiB
Diff
commit 931cb03afed7b541392295f3afc4638da32f08a0
|
|
Author: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
|
|
Date: Wed Jun 20 16:29:20 2012 +0530
|
|
|
|
ath9k_htc: configure bssid on ASSOC/IBSS change
|
|
|
|
After the change "mac80211: remove spurious BSSID change flag",
|
|
BSS_CHANGED_BSSID will not be passed on association or IBSS
|
|
status changes. So it could be better to program bssid on ASSOC
|
|
or IBSS change notification. Not doing so, is affecting the
|
|
packet transmission.
|
|
|
|
Cc: stable@vger.kernel.org [3.4+]
|
|
Reported-by: Michael Leun <lkml20120218@newton.leun.net>
|
|
Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
|
|
Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
|
|
|
diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_main.c b/drivers/net/wireless/ath/ath9k/htc_drv_main.c
|
|
index 2b8f61c..abbd6ef 100644
|
|
--- a/drivers/net/wireless/ath/ath9k/htc_drv_main.c
|
|
+++ b/drivers/net/wireless/ath/ath9k/htc_drv_main.c
|
|
@@ -1496,6 +1496,7 @@ static void ath9k_htc_bss_info_changed(struct ieee80211_hw *hw,
|
|
priv->num_sta_assoc_vif++ : priv->num_sta_assoc_vif--;
|
|
|
|
if (priv->ah->opmode == NL80211_IFTYPE_STATION) {
|
|
+ ath9k_htc_choose_set_bssid(priv);
|
|
if (bss_conf->assoc && (priv->num_sta_assoc_vif == 1))
|
|
ath9k_htc_start_ani(priv);
|
|
else if (priv->num_sta_assoc_vif == 0)
|
|
@@ -1503,13 +1504,11 @@ static void ath9k_htc_bss_info_changed(struct ieee80211_hw *hw,
|
|
}
|
|
}
|
|
|
|
- if (changed & BSS_CHANGED_BSSID) {
|
|
+ if (changed & BSS_CHANGED_IBSS) {
|
|
if (priv->ah->opmode == NL80211_IFTYPE_ADHOC) {
|
|
common->curaid = bss_conf->aid;
|
|
memcpy(common->curbssid, bss_conf->bssid, ETH_ALEN);
|
|
ath9k_htc_set_bssid(priv);
|
|
- } else if (priv->ah->opmode == NL80211_IFTYPE_STATION) {
|
|
- ath9k_htc_choose_set_bssid(priv);
|
|
}
|
|
}
|
|
|