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>
This commit is contained in:

committed by
John W. Linville

parent
40333e4fb4
commit
d9fe60dea7
@@ -10,6 +10,7 @@
|
||||
#include <linux/netdevice.h>
|
||||
#include <linux/debugfs.h>
|
||||
#include <linux/list.h>
|
||||
#include <linux/ieee80211.h>
|
||||
#include <net/cfg80211.h>
|
||||
|
||||
/**
|
||||
@@ -133,23 +134,23 @@ struct ieee80211_rate {
|
||||
};
|
||||
|
||||
/**
|
||||
* struct ieee80211_ht_info - describing STA's HT capabilities
|
||||
* struct ieee80211_sta_ht_cap - STA's HT capabilities
|
||||
*
|
||||
* This structure describes most essential parameters needed
|
||||
* to describe 802.11n HT capabilities for an STA.
|
||||
*
|
||||
* @ht_supported: is HT supported by STA, 0: no, 1: yes
|
||||
* @ht_supported: is HT supported by the STA
|
||||
* @cap: HT capabilities map as described in 802.11n spec
|
||||
* @ampdu_factor: Maximum A-MPDU length factor
|
||||
* @ampdu_density: Minimum A-MPDU spacing
|
||||
* @supp_mcs_set: Supported MCS set as described in 802.11n spec
|
||||
* @mcs: Supported MCS rates
|
||||
*/
|
||||
struct ieee80211_ht_info {
|
||||
struct ieee80211_sta_ht_cap {
|
||||
u16 cap; /* use IEEE80211_HT_CAP_ */
|
||||
u8 ht_supported;
|
||||
bool ht_supported;
|
||||
u8 ampdu_factor;
|
||||
u8 ampdu_density;
|
||||
u8 supp_mcs_set[16];
|
||||
struct ieee80211_mcs_info mcs;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -173,7 +174,7 @@ struct ieee80211_supported_band {
|
||||
enum ieee80211_band band;
|
||||
int n_channels;
|
||||
int n_bitrates;
|
||||
struct ieee80211_ht_info ht_info;
|
||||
struct ieee80211_sta_ht_cap ht_cap;
|
||||
};
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user