aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/util.c
diff options
context:
space:
mode:
authorRajkumar Manoharan <rmanohar@qca.qualcomm.com>2011-09-25 05:23:31 -0400
committerJohn W. Linville <linville@tuxdriver.com>2011-09-27 14:34:10 -0400
commitaad14ceb45f5ff12da2ab5b37a596e6f81566515 (patch)
tree898380834d260961219b687e377b60c41f5f16e9 /net/mac80211/util.c
parente9f935e3e8dc0bddd0df6d148165d95925422502 (diff)
mac80211: Send the management frame at requested rate
Whenever the scan request or tx_mgmt is requesting not to use CCK rate for managemet frames through NL80211_ATTR_TX_NO_CCK_RATE attribute, then mac80211 should select appropriate least non-CCK rate. This could help to send P2P probes and P2P action frames at non 11b rates without diabling 11b rates globally. Cc: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/util.c')
-rw-r--r--net/mac80211/util.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/net/mac80211/util.c b/net/mac80211/util.c
index 4b1466d5b6a..ead345db712 100644
--- a/net/mac80211/util.c
+++ b/net/mac80211/util.c
@@ -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,