ath9k: Reconfigure beacons on getting a notification from mac80211

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
Sujith
2009-01-27 10:55:54 +05:30
committed by John W. Linville
parent 3c45726576
commit 1f7d6cbfa2

View File

@@ -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 ? */