diff options
author | Rajkumar Manoharan <rmanohar@qca.qualcomm.com> | 2011-09-25 09:23:31 (GMT) |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-09-27 18:34:10 (GMT) |
commit | aad14ceb45f5ff12da2ab5b37a596e6f81566515 (patch) | |
tree | 898380834d260961219b687e377b60c41f5f16e9 /net/mac80211/util.c | |
parent | e9f935e3e8dc0bddd0df6d148165d95925422502 (diff) | |
download | linux-aad14ceb45f5ff12da2ab5b37a596e6f81566515.tar.xz |
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.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/net/mac80211/util.c b/net/mac80211/util.c index 4b1466d..ead345d 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, void ieee80211_send_probe_req(struct ieee80211_sub_if_data *sdata, u8 *dst, const u8 *ssid, size_t ssid_len, const u8 *ie, size_t ie_len, - u32 ratemask, bool directed) + u32 ratemask, bool directed, bool no_cck) { struct sk_buff *skb; skb = ieee80211_build_probe_req(sdata, dst, ratemask, ssid, ssid_len, ie, ie_len, directed); - if (skb) + if (skb) { + if (no_cck) + IEEE80211_SKB_CB(skb)->flags |= + IEEE80211_TX_CTL_NO_CCK_RATE; ieee80211_tx_skb(sdata, skb); + } } u32 ieee80211_sta_get_rates(struct ieee80211_local *local, |