提交 1f7d6cbf 编写于 作者: S Sujith 提交者: John W. Linville

ath9k: Reconfigure beacons on getting a notification from mac80211

Signed-off-by: NSujith <Sujith.Manoharan@atheros.com>
Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
上级 3c457265
...@@ -2253,24 +2253,27 @@ static int ath9k_config_interface(struct ieee80211_hw *hw, ...@@ -2253,24 +2253,27 @@ static int ath9k_config_interface(struct ieee80211_hw *hw,
} }
} }
if ((conf->changed & IEEE80211_IFCC_BEACON) && if ((vif->type == NL80211_IFTYPE_ADHOC) ||
((vif->type == NL80211_IFTYPE_ADHOC) || (vif->type == NL80211_IFTYPE_AP)) {
(vif->type == NL80211_IFTYPE_AP))) { if ((conf->changed & IEEE80211_IFCC_BEACON) ||
/* (conf->changed & IEEE80211_IFCC_BEACON_ENABLED &&
* Allocate and setup the beacon frame. conf->enable_beacon)) {
* /*
* Stop any previous beacon DMA. This may be * Allocate and setup the beacon frame.
* necessary, for example, when an ibss merge *
* causes reconfiguration; we may be called * Stop any previous beacon DMA. This may be
* with beacon transmission active. * necessary, for example, when an ibss merge
*/ * causes reconfiguration; we may be called
ath9k_hw_stoptxdma(sc->sc_ah, sc->beacon.beaconq); * with beacon transmission active.
*/
ath9k_hw_stoptxdma(sc->sc_ah, sc->beacon.beaconq);
error = ath_beacon_alloc(sc, 0); error = ath_beacon_alloc(sc, 0);
if (error != 0) if (error != 0)
return error; return error;
ath_beacon_sync(sc, 0); ath_beacon_sync(sc, 0);
}
} }
/* Check for WLAN_CAPABILITY_PRIVACY ? */ /* Check for WLAN_CAPABILITY_PRIVACY ? */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册