aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath5k/mac80211-ops.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/ath/ath5k/mac80211-ops.c')
-rw-r--r--drivers/net/wireless/ath/ath5k/mac80211-ops.c26
1 files changed, 9 insertions, 17 deletions
diff --git a/drivers/net/wireless/ath/ath5k/mac80211-ops.c b/drivers/net/wireless/ath/ath5k/mac80211-ops.c
index d76d68c99f72..a60a726a140c 100644
--- a/drivers/net/wireless/ath/ath5k/mac80211-ops.c
+++ b/drivers/net/wireless/ath/ath5k/mac80211-ops.c
@@ -48,23 +48,6 @@
48 48
49extern int ath5k_modparam_nohwcrypt; 49extern int ath5k_modparam_nohwcrypt;
50 50
51/* functions used from base.c */
52void set_beacon_filter(struct ieee80211_hw *hw, bool enable);
53bool ath_any_vif_assoc(struct ath5k_softc *sc);
54int ath5k_tx_queue(struct ieee80211_hw *hw, struct sk_buff *skb,
55 struct ath5k_txq *txq);
56int ath5k_init_hw(struct ath5k_softc *sc);
57int ath5k_stop_hw(struct ath5k_softc *sc);
58void ath5k_mode_setup(struct ath5k_softc *sc, struct ieee80211_vif *vif);
59void ath5k_update_bssid_mask_and_opmode(struct ath5k_softc *sc,
60 struct ieee80211_vif *vif);
61int ath5k_chan_set(struct ath5k_softc *sc, struct ieee80211_channel *chan);
62void ath5k_beacon_update_timers(struct ath5k_softc *sc, u64 bc_tsf);
63int ath5k_beacon_update(struct ieee80211_hw *hw, struct ieee80211_vif *vif);
64void ath5k_beacon_config(struct ath5k_softc *sc);
65void ath5k_txbuf_free_skb(struct ath5k_softc *sc, struct ath5k_buf *bf);
66void ath5k_rxbuf_free_skb(struct ath5k_softc *sc, struct ath5k_buf *bf);
67
68/********************\ 51/********************\
69* Mac80211 functions * 52* Mac80211 functions *
70\********************/ 53\********************/
@@ -226,6 +209,7 @@ ath5k_config(struct ieee80211_hw *hw, u32 changed)
226 struct ath5k_hw *ah = sc->ah; 209 struct ath5k_hw *ah = sc->ah;
227 struct ieee80211_conf *conf = &hw->conf; 210 struct ieee80211_conf *conf = &hw->conf;
228 int ret = 0; 211 int ret = 0;
212 int i;
229 213
230 mutex_lock(&sc->lock); 214 mutex_lock(&sc->lock);
231 215
@@ -243,6 +227,14 @@ ath5k_config(struct ieee80211_hw *hw, u32 changed)
243 ath5k_hw_set_txpower_limit(ah, (conf->power_level * 2)); 227 ath5k_hw_set_txpower_limit(ah, (conf->power_level * 2));
244 } 228 }
245 229
230 if (changed & IEEE80211_CONF_CHANGE_RETRY_LIMITS) {
231 ah->ah_retry_long = conf->long_frame_max_tx_count;
232 ah->ah_retry_short = conf->short_frame_max_tx_count;
233
234 for (i = 0; i < ah->ah_capabilities.cap_queues.q_tx_num; i++)
235 ath5k_hw_set_tx_retry_limits(ah, i);
236 }
237
246 /* TODO: 238 /* TODO:
247 * 1) Move this on config_interface and handle each case 239 * 1) Move this on config_interface and handle each case
248 * separately eg. when we have only one STA vif, use 240 * separately eg. when we have only one STA vif, use