aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/main.c
diff options
context:
space:
mode:
authorMahesh Palivela <maheshp@posedge.com>2012-07-02 07:25:12 -0400
committerJohannes Berg <johannes.berg@intel.com>2012-07-02 09:13:09 -0400
commitba0afa2f22e1e3f332e45460f99328025d44564e (patch)
tree196fd62764006dc3b9a17ac4b1e05d60eb7c484e /net/mac80211/main.c
parentb188148c690e15284d5b20d384f950506d02e3e2 (diff)
mac80211: include VHT capability IE in probe requests
Insert the VHT capability IE into probe requests. Signed-off-by: Mahesh Palivela <maheshp@posedge.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/main.c')
-rw-r--r--net/mac80211/main.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/net/mac80211/main.c b/net/mac80211/main.c
index aded0018f6f3..ab32c59be894 100644
--- a/net/mac80211/main.c
+++ b/net/mac80211/main.c
@@ -688,7 +688,7 @@ int ieee80211_register_hw(struct ieee80211_hw *hw)
688 int result, i; 688 int result, i;
689 enum ieee80211_band band; 689 enum ieee80211_band band;
690 int channels, max_bitrates; 690 int channels, max_bitrates;
691 bool supp_ht; 691 bool supp_ht, supp_vht;
692 netdev_features_t feature_whitelist; 692 netdev_features_t feature_whitelist;
693 static const u32 cipher_suites[] = { 693 static const u32 cipher_suites[] = {
694 /* keep WEP first, it may be removed below */ 694 /* keep WEP first, it may be removed below */
@@ -732,6 +732,7 @@ int ieee80211_register_hw(struct ieee80211_hw *hw)
732 channels = 0; 732 channels = 0;
733 max_bitrates = 0; 733 max_bitrates = 0;
734 supp_ht = false; 734 supp_ht = false;
735 supp_vht = false;
735 for (band = 0; band < IEEE80211_NUM_BANDS; band++) { 736 for (band = 0; band < IEEE80211_NUM_BANDS; band++) {
736 struct ieee80211_supported_band *sband; 737 struct ieee80211_supported_band *sband;
737 738
@@ -749,6 +750,7 @@ int ieee80211_register_hw(struct ieee80211_hw *hw)
749 if (max_bitrates < sband->n_bitrates) 750 if (max_bitrates < sband->n_bitrates)
750 max_bitrates = sband->n_bitrates; 751 max_bitrates = sband->n_bitrates;
751 supp_ht = supp_ht || sband->ht_cap.ht_supported; 752 supp_ht = supp_ht || sband->ht_cap.ht_supported;
753 supp_vht = supp_vht || sband->vht_cap.vht_supported;
752 } 754 }
753 755
754 local->int_scan_req = kzalloc(sizeof(*local->int_scan_req) + 756 local->int_scan_req = kzalloc(sizeof(*local->int_scan_req) +
@@ -824,6 +826,10 @@ int ieee80211_register_hw(struct ieee80211_hw *hw)
824 if (supp_ht) 826 if (supp_ht)
825 local->scan_ies_len += 2 + sizeof(struct ieee80211_ht_cap); 827 local->scan_ies_len += 2 + sizeof(struct ieee80211_ht_cap);
826 828
829 if (supp_vht)
830 local->scan_ies_len +=
831 2 + sizeof(struct ieee80211_vht_capabilities);
832
827 if (!local->ops->hw_scan) { 833 if (!local->ops->hw_scan) {
828 /* For hw_scan, driver needs to set these up. */ 834 /* For hw_scan, driver needs to set these up. */
829 local->hw.wiphy->max_scan_ssids = 4; 835 local->hw.wiphy->max_scan_ssids = 4;