diff options
author | Johannes Berg <johannes.berg@intel.com> | 2011-07-18 12:08:36 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-07-19 16:50:00 -0400 |
commit | 85a237fe308405ee38eb9c6733571c49902ec229 (patch) | |
tree | 8e8fdbd588a749b7eb7da24d65684a2ca6161c6b /net/mac80211/util.c | |
parent | 34850ab25d74ab4eead62c3b4a9e8036a25cc669 (diff) |
mac80211: implement scan supported rates
Scanning currently uses the TX rate mask to
restrict the rate set, which is bogus. Make
it use the new set of rates from userspace.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/util.c')
-rw-r--r-- | net/mac80211/util.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/net/mac80211/util.c b/net/mac80211/util.c index ca440bce3de8..ddeb1b998383 100644 --- a/net/mac80211/util.c +++ b/net/mac80211/util.c | |||
@@ -1017,7 +1017,7 @@ int ieee80211_build_preq_ies(struct ieee80211_local *local, u8 *buffer, | |||
1017 | } | 1017 | } |
1018 | 1018 | ||
1019 | struct sk_buff *ieee80211_build_probe_req(struct ieee80211_sub_if_data *sdata, | 1019 | struct sk_buff *ieee80211_build_probe_req(struct ieee80211_sub_if_data *sdata, |
1020 | u8 *dst, | 1020 | u8 *dst, u32 ratemask, |
1021 | const u8 *ssid, size_t ssid_len, | 1021 | const u8 *ssid, size_t ssid_len, |
1022 | const u8 *ie, size_t ie_len, | 1022 | const u8 *ie, size_t ie_len, |
1023 | bool directed) | 1023 | bool directed) |
@@ -1050,9 +1050,7 @@ struct sk_buff *ieee80211_build_probe_req(struct ieee80211_sub_if_data *sdata, | |||
1050 | 1050 | ||
1051 | buf_len = ieee80211_build_preq_ies(local, buf, ie, ie_len, | 1051 | buf_len = ieee80211_build_preq_ies(local, buf, ie, ie_len, |
1052 | local->hw.conf.channel->band, | 1052 | local->hw.conf.channel->band, |
1053 | sdata->rc_rateidx_mask | 1053 | ratemask, chan); |
1054 | [local->hw.conf.channel->band], | ||
1055 | chan); | ||
1056 | 1054 | ||
1057 | skb = ieee80211_probereq_get(&local->hw, &sdata->vif, | 1055 | skb = ieee80211_probereq_get(&local->hw, &sdata->vif, |
1058 | ssid, ssid_len, | 1056 | ssid, ssid_len, |
@@ -1073,12 +1071,12 @@ struct sk_buff *ieee80211_build_probe_req(struct ieee80211_sub_if_data *sdata, | |||
1073 | void ieee80211_send_probe_req(struct ieee80211_sub_if_data *sdata, u8 *dst, | 1071 | void ieee80211_send_probe_req(struct ieee80211_sub_if_data *sdata, u8 *dst, |
1074 | const u8 *ssid, size_t ssid_len, | 1072 | const u8 *ssid, size_t ssid_len, |
1075 | const u8 *ie, size_t ie_len, | 1073 | const u8 *ie, size_t ie_len, |
1076 | bool directed) | 1074 | u32 ratemask, bool directed) |
1077 | { | 1075 | { |
1078 | struct sk_buff *skb; | 1076 | struct sk_buff *skb; |
1079 | 1077 | ||
1080 | skb = ieee80211_build_probe_req(sdata, dst, ssid, ssid_len, ie, ie_len, | 1078 | skb = ieee80211_build_probe_req(sdata, dst, ratemask, ssid, ssid_len, |
1081 | directed); | 1079 | ie, ie_len, directed); |
1082 | if (skb) | 1080 | if (skb) |
1083 | ieee80211_tx_skb(sdata, skb); | 1081 | ieee80211_tx_skb(sdata, skb); |
1084 | } | 1082 | } |