diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2008-10-09 06:13:49 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-10-31 19:00:06 -0400 |
commit | d9fe60dea7779d412b34679f1177c5ca1940ea8d (patch) | |
tree | a51e16b013f7c1d16ded502cb32c03872bcbfcaa /drivers/net/wireless/iwlwifi/iwl-scan.c | |
parent | 40333e4fb476014cdd939d27e20eb54573172b32 (diff) |
802.11: clean up/fix HT support
This patch cleans up a number of things:
* the unusable definition of the HT capabilities/HT information
information elements
* variable names that are hard to understand
* mac80211: move ieee80211_handle_ht to ht.c and remove the unused
enable_ht parameter
* mac80211: fix bug with MCS rate 32 in ieee80211_handle_ht
* mac80211: fix bug with casting the result of ieee80211_bss_get_ie
to an information element _contents_ rather than the
whole element, add size checking (another out-of-bounds
access bug fixed!)
* mac80211: remove some unused return values in favour of BUG_ON
checking
* a few minor other things
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-scan.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-scan.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-scan.c b/drivers/net/wireless/iwlwifi/iwl-scan.c index 3b0bee331a33..78d16bd7b745 100644 --- a/drivers/net/wireless/iwlwifi/iwl-scan.c +++ b/drivers/net/wireless/iwlwifi/iwl-scan.c | |||
@@ -550,7 +550,7 @@ static void iwl_ht_cap_to_ie(const struct ieee80211_supported_band *sband, | |||
550 | { | 550 | { |
551 | struct ieee80211_ht_cap *ht_cap; | 551 | struct ieee80211_ht_cap *ht_cap; |
552 | 552 | ||
553 | if (!sband || !sband->ht_info.ht_supported) | 553 | if (!sband || !sband->ht_cap.ht_supported) |
554 | return; | 554 | return; |
555 | 555 | ||
556 | if (*left < sizeof(struct ieee80211_ht_cap)) | 556 | if (*left < sizeof(struct ieee80211_ht_cap)) |
@@ -559,12 +559,12 @@ static void iwl_ht_cap_to_ie(const struct ieee80211_supported_band *sband, | |||
559 | *pos++ = sizeof(struct ieee80211_ht_cap); | 559 | *pos++ = sizeof(struct ieee80211_ht_cap); |
560 | ht_cap = (struct ieee80211_ht_cap *) pos; | 560 | ht_cap = (struct ieee80211_ht_cap *) pos; |
561 | 561 | ||
562 | ht_cap->cap_info = cpu_to_le16(sband->ht_info.cap); | 562 | ht_cap->cap_info = cpu_to_le16(sband->ht_cap.cap); |
563 | memcpy(ht_cap->supp_mcs_set, sband->ht_info.supp_mcs_set, 16); | 563 | memcpy(&ht_cap->mcs, &sband->ht_cap.mcs, 16); |
564 | ht_cap->ampdu_params_info = | 564 | ht_cap->ampdu_params_info = |
565 | (sband->ht_info.ampdu_factor & IEEE80211_HT_CAP_AMPDU_FACTOR) | | 565 | (sband->ht_cap.ampdu_factor & IEEE80211_HT_AMPDU_PARM_FACTOR) | |
566 | ((sband->ht_info.ampdu_density << 2) & | 566 | ((sband->ht_cap.ampdu_density << 2) & |
567 | IEEE80211_HT_CAP_AMPDU_DENSITY); | 567 | IEEE80211_HT_AMPDU_PARM_DENSITY); |
568 | *left -= sizeof(struct ieee80211_ht_cap); | 568 | *left -= sizeof(struct ieee80211_ht_cap); |
569 | } | 569 | } |
570 | 570 | ||