Loading MAINTAINERS +1 −1 Original line number Diff line number Diff line Loading @@ -5978,7 +5978,7 @@ S: Maintained F: drivers/input/misc/wistron_btns.c WL1251 WIRELESS DRIVER M: Kalle Valo <kalle.valo@nokia.com> M: Kalle Valo <kalle.valo@iki.fi> L: linux-wireless@vger.kernel.org W: http://wireless.kernel.org T: git git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-testing.git Loading drivers/net/wireless/Kconfig +1 −0 Original line number Diff line number Diff line Loading @@ -112,6 +112,7 @@ config AIRO_CS depends on PCMCIA && (BROKEN || !M32R) select WIRELESS_EXT select WEXT_SPY select WEXT_PRIV select CRYPTO select CRYPTO_AES ---help--- Loading drivers/net/wireless/airo.c +1 −0 Original line number Diff line number Diff line Loading @@ -51,6 +51,7 @@ #include <linux/freezer.h> #include <linux/ieee80211.h> #include <net/iw_handler.h> #include "airo.h" Loading drivers/net/wireless/ath/ar9170/main.c +36 −34 Original line number Diff line number Diff line Loading @@ -2329,21 +2329,18 @@ out: return err; } static void ar9170_sta_notify(struct ieee80211_hw *hw, static int ar9170_sta_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif, enum sta_notify_cmd cmd, struct ieee80211_sta *sta) { struct ar9170 *ar = hw->priv; struct ar9170_sta_info *sta_info = (void *) sta->drv_priv; unsigned int i; switch (cmd) { case STA_NOTIFY_ADD: memset(sta_info, 0, sizeof(*sta_info)); if (!sta->ht_cap.ht_supported) break; return 0; if (sta->ht_cap.ampdu_density > ar->global_ampdu_density) ar->global_ampdu_density = sta->ht_cap.ampdu_density; Loading @@ -2361,22 +2358,26 @@ static void ar9170_sta_notify(struct ieee80211_hw *hw, } sta_info->ampdu_max_len = 1 << (3 + sta->ht_cap.ampdu_factor); break; case STA_NOTIFY_REMOVE: return 0; } static int ar9170_sta_remove(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta) { struct ar9170_sta_info *sta_info = (void *) sta->drv_priv; unsigned int i; if (!sta->ht_cap.ht_supported) break; return 0; for (i = 0; i < AR9170_NUM_TID; i++) { sta_info->agg[i].state = AR9170_TID_STATE_INVALID; skb_queue_purge(&sta_info->agg[i].queue); } break; default: break; } return 0; } static int ar9170_get_stats(struct ieee80211_hw *hw, Loading Loading @@ -2495,7 +2496,8 @@ static const struct ieee80211_ops ar9170_ops = { .bss_info_changed = ar9170_op_bss_info_changed, .get_tsf = ar9170_op_get_tsf, .set_key = ar9170_set_key, .sta_notify = ar9170_sta_notify, .sta_add = ar9170_sta_add, .sta_remove = ar9170_sta_remove, .get_stats = ar9170_get_stats, .ampdu_action = ar9170_ampdu_action, }; Loading drivers/net/wireless/ath/ath9k/beacon.c +8 −11 Original line number Diff line number Diff line Loading @@ -62,7 +62,7 @@ int ath_beaconq_config(struct ath_softc *sc) * Beacons are always sent out at the lowest rate, and are not retried. */ static void ath_beacon_setup(struct ath_softc *sc, struct ath_vif *avp, struct ath_buf *bf) struct ath_buf *bf, int rateidx) { struct sk_buff *skb = bf->bf_mpdu; struct ath_hw *ah = sc->sc_ah; Loading Loading @@ -96,9 +96,9 @@ static void ath_beacon_setup(struct ath_softc *sc, struct ath_vif *avp, ds->ds_data = bf->bf_buf_addr; sband = &sc->sbands[common->hw->conf.channel->band]; rate = sband->bitrates[0].hw_value; rate = sband->bitrates[rateidx].hw_value; if (sc->sc_flags & SC_OP_PREAMBLE_SHORT) rate |= sband->bitrates[0].hw_value_short; rate |= sband->bitrates[rateidx].hw_value_short; ath9k_hw_set11n_txdesc(ah, ds, skb->len + FCS_LEN, ATH9K_PKT_TYPE_BEACON, Loading Loading @@ -206,7 +206,7 @@ static struct ath_buf *ath_beacon_generate(struct ieee80211_hw *hw, } } ath_beacon_setup(sc, avp, bf); ath_beacon_setup(sc, avp, bf, info->control.rates[0].idx); while (skb) { ath_tx_cabq(hw, skb); Loading Loading @@ -237,7 +237,7 @@ static void ath_beacon_start_adhoc(struct ath_softc *sc, bf = avp->av_bcbuf; skb = bf->bf_mpdu; ath_beacon_setup(sc, avp, bf); ath_beacon_setup(sc, avp, bf, 0); /* NB: caller is known to have already stopped tx dma */ ath9k_hw_puttxbuf(ah, sc->beacon.beaconq, bf->bf_daddr); Loading Loading @@ -526,15 +526,12 @@ static void ath_beacon_config_ap(struct ath_softc *sc, { u32 nexttbtt, intval; /* Configure the timers only when the TSF has to be reset */ if (!(sc->sc_flags & SC_OP_TSF_RESET)) return; /* NB: the beacon interval is kept internally in TU's */ intval = conf->beacon_interval & ATH9K_BEACON_PERIOD; intval /= ATH_BCBUF; /* for staggered beacons */ nexttbtt = intval; if (sc->sc_flags & SC_OP_TSF_RESET) intval |= ATH9K_BEACON_RESET_TSF; /* Loading Loading
MAINTAINERS +1 −1 Original line number Diff line number Diff line Loading @@ -5978,7 +5978,7 @@ S: Maintained F: drivers/input/misc/wistron_btns.c WL1251 WIRELESS DRIVER M: Kalle Valo <kalle.valo@nokia.com> M: Kalle Valo <kalle.valo@iki.fi> L: linux-wireless@vger.kernel.org W: http://wireless.kernel.org T: git git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-testing.git Loading
drivers/net/wireless/Kconfig +1 −0 Original line number Diff line number Diff line Loading @@ -112,6 +112,7 @@ config AIRO_CS depends on PCMCIA && (BROKEN || !M32R) select WIRELESS_EXT select WEXT_SPY select WEXT_PRIV select CRYPTO select CRYPTO_AES ---help--- Loading
drivers/net/wireless/airo.c +1 −0 Original line number Diff line number Diff line Loading @@ -51,6 +51,7 @@ #include <linux/freezer.h> #include <linux/ieee80211.h> #include <net/iw_handler.h> #include "airo.h" Loading
drivers/net/wireless/ath/ar9170/main.c +36 −34 Original line number Diff line number Diff line Loading @@ -2329,21 +2329,18 @@ out: return err; } static void ar9170_sta_notify(struct ieee80211_hw *hw, static int ar9170_sta_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif, enum sta_notify_cmd cmd, struct ieee80211_sta *sta) { struct ar9170 *ar = hw->priv; struct ar9170_sta_info *sta_info = (void *) sta->drv_priv; unsigned int i; switch (cmd) { case STA_NOTIFY_ADD: memset(sta_info, 0, sizeof(*sta_info)); if (!sta->ht_cap.ht_supported) break; return 0; if (sta->ht_cap.ampdu_density > ar->global_ampdu_density) ar->global_ampdu_density = sta->ht_cap.ampdu_density; Loading @@ -2361,22 +2358,26 @@ static void ar9170_sta_notify(struct ieee80211_hw *hw, } sta_info->ampdu_max_len = 1 << (3 + sta->ht_cap.ampdu_factor); break; case STA_NOTIFY_REMOVE: return 0; } static int ar9170_sta_remove(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta) { struct ar9170_sta_info *sta_info = (void *) sta->drv_priv; unsigned int i; if (!sta->ht_cap.ht_supported) break; return 0; for (i = 0; i < AR9170_NUM_TID; i++) { sta_info->agg[i].state = AR9170_TID_STATE_INVALID; skb_queue_purge(&sta_info->agg[i].queue); } break; default: break; } return 0; } static int ar9170_get_stats(struct ieee80211_hw *hw, Loading Loading @@ -2495,7 +2496,8 @@ static const struct ieee80211_ops ar9170_ops = { .bss_info_changed = ar9170_op_bss_info_changed, .get_tsf = ar9170_op_get_tsf, .set_key = ar9170_set_key, .sta_notify = ar9170_sta_notify, .sta_add = ar9170_sta_add, .sta_remove = ar9170_sta_remove, .get_stats = ar9170_get_stats, .ampdu_action = ar9170_ampdu_action, }; Loading
drivers/net/wireless/ath/ath9k/beacon.c +8 −11 Original line number Diff line number Diff line Loading @@ -62,7 +62,7 @@ int ath_beaconq_config(struct ath_softc *sc) * Beacons are always sent out at the lowest rate, and are not retried. */ static void ath_beacon_setup(struct ath_softc *sc, struct ath_vif *avp, struct ath_buf *bf) struct ath_buf *bf, int rateidx) { struct sk_buff *skb = bf->bf_mpdu; struct ath_hw *ah = sc->sc_ah; Loading Loading @@ -96,9 +96,9 @@ static void ath_beacon_setup(struct ath_softc *sc, struct ath_vif *avp, ds->ds_data = bf->bf_buf_addr; sband = &sc->sbands[common->hw->conf.channel->band]; rate = sband->bitrates[0].hw_value; rate = sband->bitrates[rateidx].hw_value; if (sc->sc_flags & SC_OP_PREAMBLE_SHORT) rate |= sband->bitrates[0].hw_value_short; rate |= sband->bitrates[rateidx].hw_value_short; ath9k_hw_set11n_txdesc(ah, ds, skb->len + FCS_LEN, ATH9K_PKT_TYPE_BEACON, Loading Loading @@ -206,7 +206,7 @@ static struct ath_buf *ath_beacon_generate(struct ieee80211_hw *hw, } } ath_beacon_setup(sc, avp, bf); ath_beacon_setup(sc, avp, bf, info->control.rates[0].idx); while (skb) { ath_tx_cabq(hw, skb); Loading Loading @@ -237,7 +237,7 @@ static void ath_beacon_start_adhoc(struct ath_softc *sc, bf = avp->av_bcbuf; skb = bf->bf_mpdu; ath_beacon_setup(sc, avp, bf); ath_beacon_setup(sc, avp, bf, 0); /* NB: caller is known to have already stopped tx dma */ ath9k_hw_puttxbuf(ah, sc->beacon.beaconq, bf->bf_daddr); Loading Loading @@ -526,15 +526,12 @@ static void ath_beacon_config_ap(struct ath_softc *sc, { u32 nexttbtt, intval; /* Configure the timers only when the TSF has to be reset */ if (!(sc->sc_flags & SC_OP_TSF_RESET)) return; /* NB: the beacon interval is kept internally in TU's */ intval = conf->beacon_interval & ATH9K_BEACON_PERIOD; intval /= ATH_BCBUF; /* for staggered beacons */ nexttbtt = intval; if (sc->sc_flags & SC_OP_TSF_RESET) intval |= ATH9K_BEACON_RESET_TSF; /* Loading