aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/util.c
diff options
context:
space:
mode:
authorJohn W. Linville <linville@tuxdriver.com>2011-09-30 14:52:16 -0400
committerJohn W. Linville <linville@tuxdriver.com>2011-09-30 14:52:29 -0400
commit8e00f5fbb4ecbc3431fa686cba60cd76a62604af (patch)
tree78aa3bdef892dbd1afc8969fc528e529cfc266f7 /net/mac80211/util.c
parent56fd49e399ce1d82200fad5b8924d4e35a587809 (diff)
parent0874073570d9184a169a4ae2abbe8dbcb71878e9 (diff)
Merge branch 'master' of git://git.infradead.org/users/linville/wireless-next into for-davem
Conflicts: drivers/net/wireless/iwlwifi/iwl-pci.c drivers/net/wireless/wl12xx/main.c
Diffstat (limited to 'net/mac80211/util.c')
-rw-r--r--net/mac80211/util.c23
1 files changed, 17 insertions, 6 deletions
diff --git a/net/mac80211/util.c b/net/mac80211/util.c
index 4b1466d5b6a1..2c9dc360dc6d 100644
--- a/net/mac80211/util.c
+++ b/net/mac80211/util.c
@@ -632,8 +632,8 @@ void ieee80211_set_wmm_default(struct ieee80211_sub_if_data *sdata)
632 632
633 qparam.uapsd = false; 633 qparam.uapsd = false;
634 634
635 local->tx_conf[queue] = qparam; 635 sdata->tx_conf[queue] = qparam;
636 drv_conf_tx(local, queue, &qparam); 636 drv_conf_tx(local, sdata, queue, &qparam);
637 } 637 }
638 638
639 /* after reinitialize QoS TX queues setting to default, 639 /* after reinitialize QoS TX queues setting to default,
@@ -899,14 +899,18 @@ struct sk_buff *ieee80211_build_probe_req(struct ieee80211_sub_if_data *sdata,
899void ieee80211_send_probe_req(struct ieee80211_sub_if_data *sdata, u8 *dst, 899void ieee80211_send_probe_req(struct ieee80211_sub_if_data *sdata, u8 *dst,
900 const u8 *ssid, size_t ssid_len, 900 const u8 *ssid, size_t ssid_len,
901 const u8 *ie, size_t ie_len, 901 const u8 *ie, size_t ie_len,
902 u32 ratemask, bool directed) 902 u32 ratemask, bool directed, bool no_cck)
903{ 903{
904 struct sk_buff *skb; 904 struct sk_buff *skb;
905 905
906 skb = ieee80211_build_probe_req(sdata, dst, ratemask, ssid, ssid_len, 906 skb = ieee80211_build_probe_req(sdata, dst, ratemask, ssid, ssid_len,
907 ie, ie_len, directed); 907 ie, ie_len, directed);
908 if (skb) 908 if (skb) {
909 if (no_cck)
910 IEEE80211_SKB_CB(skb)->flags |=
911 IEEE80211_TX_CTL_NO_CCK_RATE;
909 ieee80211_tx_skb(sdata, skb); 912 ieee80211_tx_skb(sdata, skb);
913 }
910} 914}
911 915
912u32 ieee80211_sta_get_rates(struct ieee80211_local *local, 916u32 ieee80211_sta_get_rates(struct ieee80211_local *local,
@@ -1040,8 +1044,15 @@ int ieee80211_reconfig(struct ieee80211_local *local)
1040 mutex_unlock(&local->sta_mtx); 1044 mutex_unlock(&local->sta_mtx);
1041 1045
1042 /* reconfigure tx conf */ 1046 /* reconfigure tx conf */
1043 for (i = 0; i < hw->queues; i++) 1047 list_for_each_entry(sdata, &local->interfaces, list) {
1044 drv_conf_tx(local, i, &local->tx_conf[i]); 1048 if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN ||
1049 sdata->vif.type == NL80211_IFTYPE_MONITOR ||
1050 !ieee80211_sdata_running(sdata))
1051 continue;
1052
1053 for (i = 0; i < hw->queues; i++)
1054 drv_conf_tx(local, sdata, i, &sdata->tx_conf[i]);
1055 }
1045 1056
1046 /* reconfigure hardware */ 1057 /* reconfigure hardware */
1047 ieee80211_hw_config(local, ~0); 1058 ieee80211_hw_config(local, ~0);