aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/wireless/ath/ath5k/ath5k.h7
-rw-r--r--drivers/net/wireless/ath/ath5k/base.c14
-rw-r--r--drivers/net/wireless/ath/ath5k/mac80211-ops.c6
3 files changed, 12 insertions, 15 deletions
diff --git a/drivers/net/wireless/ath/ath5k/ath5k.h b/drivers/net/wireless/ath/ath5k/ath5k.h
index bb50700436fe..c4c02d5145c2 100644
--- a/drivers/net/wireless/ath/ath5k/ath5k.h
+++ b/drivers/net/wireless/ath/ath5k/ath5k.h
@@ -767,6 +767,7 @@ struct ath5k_athchan_2ghz {
767 */ 767 */
768 768
769#define AR5K_KEYCACHE_SIZE 8 769#define AR5K_KEYCACHE_SIZE 8
770extern int ath5k_modparam_nohwcrypt;
770 771
771/***********************\ 772/***********************\
772 HW RELATED DEFINITIONS 773 HW RELATED DEFINITIONS
@@ -1180,8 +1181,8 @@ void ath5k_sysfs_unregister(struct ath5k_softc *sc);
1180struct ath5k_buf; 1181struct ath5k_buf;
1181struct ath5k_txq; 1182struct ath5k_txq;
1182 1183
1183void set_beacon_filter(struct ieee80211_hw *hw, bool enable); 1184void ath5k_set_beacon_filter(struct ieee80211_hw *hw, bool enable);
1184bool ath_any_vif_assoc(struct ath5k_softc *sc); 1185bool ath5k_any_vif_assoc(struct ath5k_softc *sc);
1185void ath5k_tx_queue(struct ieee80211_hw *hw, struct sk_buff *skb, 1186void ath5k_tx_queue(struct ieee80211_hw *hw, struct sk_buff *skb,
1186 struct ath5k_txq *txq); 1187 struct ath5k_txq *txq);
1187int ath5k_init_hw(struct ath5k_softc *sc); 1188int ath5k_init_hw(struct ath5k_softc *sc);
@@ -1253,7 +1254,7 @@ int ath5k_hw_get_frame_duration(struct ath5k_hw *ah,
1253 int len, struct ieee80211_rate *rate, bool shortpre); 1254 int len, struct ieee80211_rate *rate, bool shortpre);
1254unsigned int ath5k_hw_get_default_slottime(struct ath5k_hw *ah); 1255unsigned int ath5k_hw_get_default_slottime(struct ath5k_hw *ah);
1255unsigned int ath5k_hw_get_default_sifs(struct ath5k_hw *ah); 1256unsigned int ath5k_hw_get_default_sifs(struct ath5k_hw *ah);
1256extern int ath5k_hw_set_opmode(struct ath5k_hw *ah, enum nl80211_iftype opmode); 1257int ath5k_hw_set_opmode(struct ath5k_hw *ah, enum nl80211_iftype opmode);
1257void ath5k_hw_set_coverage_class(struct ath5k_hw *ah, u8 coverage_class); 1258void ath5k_hw_set_coverage_class(struct ath5k_hw *ah, u8 coverage_class);
1258/* RX filter control*/ 1259/* RX filter control*/
1259int ath5k_hw_set_lladdr(struct ath5k_hw *ah, const u8 *mac); 1260int ath5k_hw_set_lladdr(struct ath5k_hw *ah, const u8 *mac);
diff --git a/drivers/net/wireless/ath/ath5k/base.c b/drivers/net/wireless/ath/ath5k/base.c
index b6c5d3715b96..3e70b1418a4a 100644
--- a/drivers/net/wireless/ath/ath5k/base.c
+++ b/drivers/net/wireless/ath/ath5k/base.c
@@ -87,8 +87,6 @@ MODULE_LICENSE("Dual BSD/GPL");
87static int ath5k_init(struct ieee80211_hw *hw); 87static int ath5k_init(struct ieee80211_hw *hw);
88static int ath5k_reset(struct ath5k_softc *sc, struct ieee80211_channel *chan, 88static int ath5k_reset(struct ath5k_softc *sc, struct ieee80211_channel *chan,
89 bool skip_pcu); 89 bool skip_pcu);
90int ath5k_beacon_update(struct ieee80211_hw *hw, struct ieee80211_vif *vif);
91void ath5k_beacon_update_timers(struct ath5k_softc *sc, u64 bc_tsf);
92 90
93/* Known SREVs */ 91/* Known SREVs */
94static const struct ath5k_srev_name srev_names[] = { 92static const struct ath5k_srev_name srev_names[] = {
@@ -2161,7 +2159,7 @@ ath5k_schedule_tx(struct ath5k_softc *sc)
2161 tasklet_schedule(&sc->txtq); 2159 tasklet_schedule(&sc->txtq);
2162} 2160}
2163 2161
2164irqreturn_t 2162static irqreturn_t
2165ath5k_intr(int irq, void *dev_id) 2163ath5k_intr(int irq, void *dev_id)
2166{ 2164{
2167 struct ath5k_softc *sc = dev_id; 2165 struct ath5k_softc *sc = dev_id;
@@ -2615,7 +2613,7 @@ done:
2615 return ret; 2613 return ret;
2616} 2614}
2617 2615
2618static void stop_tasklets(struct ath5k_softc *sc) 2616static void ath5k_stop_tasklets(struct ath5k_softc *sc)
2619{ 2617{
2620 sc->rx_pending = false; 2618 sc->rx_pending = false;
2621 sc->tx_pending = false; 2619 sc->tx_pending = false;
@@ -2669,7 +2667,7 @@ ath5k_stop_hw(struct ath5k_softc *sc)
2669 mmiowb(); 2667 mmiowb();
2670 mutex_unlock(&sc->lock); 2668 mutex_unlock(&sc->lock);
2671 2669
2672 stop_tasklets(sc); 2670 ath5k_stop_tasklets(sc);
2673 2671
2674 cancel_delayed_work_sync(&sc->tx_complete_work); 2672 cancel_delayed_work_sync(&sc->tx_complete_work);
2675 2673
@@ -2697,7 +2695,7 @@ ath5k_reset(struct ath5k_softc *sc, struct ieee80211_channel *chan,
2697 2695
2698 ath5k_hw_set_imr(ah, 0); 2696 ath5k_hw_set_imr(ah, 0);
2699 synchronize_irq(sc->irq); 2697 synchronize_irq(sc->irq);
2700 stop_tasklets(sc); 2698 ath5k_stop_tasklets(sc);
2701 2699
2702 /* Save ani mode and disable ANI during 2700 /* Save ani mode and disable ANI during
2703 * reset. If we don't we might get false 2701 * reset. If we don't we might get false
@@ -2966,7 +2964,7 @@ ath5k_deinit_softc(struct ath5k_softc *sc)
2966} 2964}
2967 2965
2968bool 2966bool
2969ath_any_vif_assoc(struct ath5k_softc *sc) 2967ath5k_any_vif_assoc(struct ath5k_softc *sc)
2970{ 2968{
2971 struct ath5k_vif_iter_data iter_data; 2969 struct ath5k_vif_iter_data iter_data;
2972 iter_data.hw_macaddr = NULL; 2970 iter_data.hw_macaddr = NULL;
@@ -2980,7 +2978,7 @@ ath_any_vif_assoc(struct ath5k_softc *sc)
2980} 2978}
2981 2979
2982void 2980void
2983set_beacon_filter(struct ieee80211_hw *hw, bool enable) 2981ath5k_set_beacon_filter(struct ieee80211_hw *hw, bool enable)
2984{ 2982{
2985 struct ath5k_softc *sc = hw->priv; 2983 struct ath5k_softc *sc = hw->priv;
2986 struct ath5k_hw *ah = sc->ah; 2984 struct ath5k_hw *ah = sc->ah;
diff --git a/drivers/net/wireless/ath/ath5k/mac80211-ops.c b/drivers/net/wireless/ath/ath5k/mac80211-ops.c
index 807bd6440169..493908299bb4 100644
--- a/drivers/net/wireless/ath/ath5k/mac80211-ops.c
+++ b/drivers/net/wireless/ath/ath5k/mac80211-ops.c
@@ -46,8 +46,6 @@
46#include "base.h" 46#include "base.h"
47#include "reg.h" 47#include "reg.h"
48 48
49extern int ath5k_modparam_nohwcrypt;
50
51/********************\ 49/********************\
52* Mac80211 functions * 50* Mac80211 functions *
53\********************/ 51\********************/
@@ -296,10 +294,10 @@ ath5k_bss_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
296 if (bss_conf->assoc) 294 if (bss_conf->assoc)
297 sc->assoc = bss_conf->assoc; 295 sc->assoc = bss_conf->assoc;
298 else 296 else
299 sc->assoc = ath_any_vif_assoc(sc); 297 sc->assoc = ath5k_any_vif_assoc(sc);
300 298
301 if (sc->opmode == NL80211_IFTYPE_STATION) 299 if (sc->opmode == NL80211_IFTYPE_STATION)
302 set_beacon_filter(hw, sc->assoc); 300 ath5k_set_beacon_filter(hw, sc->assoc);
303 ath5k_hw_set_ledstate(sc->ah, sc->assoc ? 301 ath5k_hw_set_ledstate(sc->ah, sc->assoc ?
304 AR5K_LED_ASSOC : AR5K_LED_INIT); 302 AR5K_LED_ASSOC : AR5K_LED_INIT);
305 if (bss_conf->assoc) { 303 if (bss_conf->assoc) {