aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2009-03-31 06:12:05 -0400
committerJohn W. Linville <linville@tuxdriver.com>2009-04-22 16:54:39 -0400
commit18a8365992a8041aa178ae9ad5f0d951d0457230 (patch)
treecb7a461139269feb191e5f5d03c4438cfa9335f2 /net/mac80211
parent75c2148fa5330c6de741fc96e3308f57d846a6b4 (diff)
cfg80211: introduce scan IE limit attribute
This patch introduces a new attribute for a wiphy that tells userspace how long the information elements added to a probe request frame can be at most. It also updates the at76 to advertise that it cannot support that, and, for now until I can fix that, iwlwifi too. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211')
-rw-r--r--net/mac80211/main.c13
-rw-r--r--net/mac80211/util.c2
2 files changed, 14 insertions, 1 deletions
diff --git a/net/mac80211/main.c b/net/mac80211/main.c
index fbcbed6cad01..ee58a7873699 100644
--- a/net/mac80211/main.c
+++ b/net/mac80211/main.c
@@ -728,7 +728,18 @@ struct ieee80211_hw *ieee80211_alloc_hw(size_t priv_data_len,
728 return NULL; 728 return NULL;
729 729
730 wiphy->privid = mac80211_wiphy_privid; 730 wiphy->privid = mac80211_wiphy_privid;
731 wiphy->max_scan_ssids = 4; 731
732 if (!ops->hw_scan) {
733 /* For hw_scan, driver needs to set these up. */
734 wiphy->max_scan_ssids = 4;
735
736 /* we support a maximum of 32 rates in cfg80211 */
737 wiphy->max_scan_ie_len = IEEE80211_MAX_DATA_LEN
738 - 2 - 32 /* SSID */
739 - 4 - 32 /* (ext) supp rates */;
740
741 }
742
732 /* Yes, putting cfg80211_bss into ieee80211_bss is a hack */ 743 /* Yes, putting cfg80211_bss into ieee80211_bss is a hack */
733 wiphy->bss_priv_size = sizeof(struct ieee80211_bss) - 744 wiphy->bss_priv_size = sizeof(struct ieee80211_bss) -
734 sizeof(struct cfg80211_bss); 745 sizeof(struct cfg80211_bss);
diff --git a/net/mac80211/util.c b/net/mac80211/util.c
index fdf432f14554..05caf34f31da 100644
--- a/net/mac80211/util.c
+++ b/net/mac80211/util.c
@@ -890,6 +890,8 @@ void ieee80211_send_probe_req(struct ieee80211_sub_if_data *sdata, u8 *dst,
890 *pos = rate->bitrate / 5; 890 *pos = rate->bitrate / 5;
891 } 891 }
892 892
893 /* if adding more here, adjust max_scan_ie_len */
894
893 if (ie) 895 if (ie)
894 memcpy(skb_put(skb, ie_len), ie, ie_len); 896 memcpy(skb_put(skb, ie_len), ie, ie_len);
895 897