aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/ieee80211_i.h
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2012-07-23 08:53:27 -0400
committerJohannes Berg <johannes.berg@intel.com>2012-07-31 10:18:56 -0400
commit6b77863b719a4e32909c218c0d5a83a14f4d98c5 (patch)
treed259001a7b7c4963de72cd6b3b9bf8d350d2f1c8 /net/mac80211/ieee80211_i.h
parent679ef4eadde1f8e55074427c0d8de2da55ca81f9 (diff)
mac80211: fix current vs. operating channel in preq/beacon
When sending probe requests, e.g. during software scanning, these will go out on the *current* channel, so their IEs need to be built from the current channel. At other times, e.g. for beacons or probe request templates, the IEs will be used on the *operating* channel and using the current channel instead might result in errors. Add the appropriate parameters to respect the difference. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/ieee80211_i.h')
-rw-r--r--net/mac80211/ieee80211_i.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h
index 8e65ad9c870a..0aaad023cdbe 100644
--- a/net/mac80211/ieee80211_i.h
+++ b/net/mac80211/ieee80211_i.h
@@ -1459,6 +1459,7 @@ int ieee80211_build_preq_ies(struct ieee80211_local *local, u8 *buffer,
1459 u8 channel); 1459 u8 channel);
1460struct sk_buff *ieee80211_build_probe_req(struct ieee80211_sub_if_data *sdata, 1460struct sk_buff *ieee80211_build_probe_req(struct ieee80211_sub_if_data *sdata,
1461 u8 *dst, u32 ratemask, 1461 u8 *dst, u32 ratemask,
1462 struct ieee80211_channel *chan,
1462 const u8 *ssid, size_t ssid_len, 1463 const u8 *ssid, size_t ssid_len,
1463 const u8 *ie, size_t ie_len, 1464 const u8 *ie, size_t ie_len,
1464 bool directed); 1465 bool directed);
@@ -1489,9 +1490,11 @@ u8 *ieee80211_ie_build_ht_oper(u8 *pos, struct ieee80211_sta_ht_cap *ht_cap,
1489u8 *ieee80211_ie_build_vht_cap(u8 *pos, struct ieee80211_sta_vht_cap *vht_cap, 1490u8 *ieee80211_ie_build_vht_cap(u8 *pos, struct ieee80211_sta_vht_cap *vht_cap,
1490 u32 cap); 1491 u32 cap);
1491int ieee80211_add_srates_ie(struct ieee80211_sub_if_data *sdata, 1492int ieee80211_add_srates_ie(struct ieee80211_sub_if_data *sdata,
1492 struct sk_buff *skb, bool need_basic); 1493 struct sk_buff *skb, bool need_basic,
1494 enum ieee80211_band band);
1493int ieee80211_add_ext_srates_ie(struct ieee80211_sub_if_data *sdata, 1495int ieee80211_add_ext_srates_ie(struct ieee80211_sub_if_data *sdata,
1494 struct sk_buff *skb, bool need_basic); 1496 struct sk_buff *skb, bool need_basic,
1497 enum ieee80211_band band);
1495 1498
1496/* channel management */ 1499/* channel management */
1497enum ieee80211_chan_mode { 1500enum ieee80211_chan_mode {