Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next
Conflicts: drivers/net/wireless/ath/carl9170/debug.c drivers/net/wireless/ath/carl9170/main.c net/mac80211/ieee80211_i.h
This commit is contained in:
@@ -1027,6 +1027,26 @@ enum ieee80211_p2p_attr_id {
|
||||
IEEE80211_P2P_ATTR_MAX
|
||||
};
|
||||
|
||||
/* Notice of Absence attribute - described in P2P spec 4.1.14 */
|
||||
/* Typical max value used here */
|
||||
#define IEEE80211_P2P_NOA_DESC_MAX 4
|
||||
|
||||
struct ieee80211_p2p_noa_desc {
|
||||
u8 count;
|
||||
__le32 duration;
|
||||
__le32 interval;
|
||||
__le32 start_time;
|
||||
} __packed;
|
||||
|
||||
struct ieee80211_p2p_noa_attr {
|
||||
u8 index;
|
||||
u8 oppps_ctwindow;
|
||||
struct ieee80211_p2p_noa_desc desc[IEEE80211_P2P_NOA_DESC_MAX];
|
||||
} __packed;
|
||||
|
||||
#define IEEE80211_P2P_OPPPS_ENABLE_BIT BIT(7)
|
||||
#define IEEE80211_P2P_OPPPS_CTWINDOW_MASK 0x7F
|
||||
|
||||
/**
|
||||
* struct ieee80211_bar - HT Block Ack Request
|
||||
*
|
||||
@@ -1935,6 +1955,16 @@ enum ieee80211_timeout_interval_type {
|
||||
WLAN_TIMEOUT_ASSOC_COMEBACK = 3 /* 802.11w */,
|
||||
};
|
||||
|
||||
/**
|
||||
* struct ieee80211_timeout_interval_ie - Timeout Interval element
|
||||
* @type: type, see &enum ieee80211_timeout_interval_type
|
||||
* @value: timeout interval value
|
||||
*/
|
||||
struct ieee80211_timeout_interval_ie {
|
||||
u8 type;
|
||||
__le32 value;
|
||||
} __packed;
|
||||
|
||||
/* BACK action code */
|
||||
enum ieee80211_back_actioncode {
|
||||
WLAN_ACTION_ADDBA_REQ = 0,
|
||||
|
@@ -1998,6 +1998,10 @@ struct cfg80211_update_ft_ies_params {
|
||||
* advertise the support for MAC based ACL have to implement this callback.
|
||||
*
|
||||
* @start_radar_detection: Start radar detection in the driver.
|
||||
*
|
||||
* @update_ft_ies: Provide updated Fast BSS Transition information to the
|
||||
* driver. If the SME is in the driver/firmware, this information can be
|
||||
* used in building Authentication and Reassociation Request frames.
|
||||
*/
|
||||
struct cfg80211_ops {
|
||||
int (*suspend)(struct wiphy *wiphy, struct cfg80211_wowlan *wow);
|
||||
|
@@ -330,8 +330,7 @@ enum ieee80211_rssi_event {
|
||||
* @ssid_len: Length of SSID given in @ssid.
|
||||
* @hidden_ssid: The SSID of the current vif is hidden. Only valid in AP-mode.
|
||||
* @txpower: TX power in dBm
|
||||
* @p2p_ctwindow: P2P CTWindow, only for P2P client interfaces
|
||||
* @p2p_oppps: P2P opportunistic PS is enabled
|
||||
* @p2p_noa_attr: P2P NoA attribute for P2P powersave
|
||||
*/
|
||||
struct ieee80211_bss_conf {
|
||||
const u8 *bssid;
|
||||
@@ -365,8 +364,7 @@ struct ieee80211_bss_conf {
|
||||
size_t ssid_len;
|
||||
bool hidden_ssid;
|
||||
int txpower;
|
||||
u8 p2p_ctwindow;
|
||||
bool p2p_oppps;
|
||||
struct ieee80211_p2p_noa_attr p2p_noa_attr;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -976,8 +974,7 @@ enum ieee80211_smps_mode {
|
||||
* @power_level: requested transmit power (in dBm), backward compatibility
|
||||
* value only that is set to the minimum of all interfaces
|
||||
*
|
||||
* @channel: the channel to tune to
|
||||
* @channel_type: the channel (HT) type
|
||||
* @chandef: the channel definition to tune to
|
||||
* @radar_enabled: whether radar detection is enabled
|
||||
*
|
||||
* @long_frame_max_tx_count: Maximum number of transmissions for a "long" frame
|
||||
@@ -1003,8 +1000,7 @@ struct ieee80211_conf {
|
||||
|
||||
u8 long_frame_max_tx_count, short_frame_max_tx_count;
|
||||
|
||||
struct ieee80211_channel *channel;
|
||||
enum nl80211_channel_type channel_type;
|
||||
struct cfg80211_chan_def chandef;
|
||||
bool radar_enabled;
|
||||
enum ieee80211_smps_mode smps_mode;
|
||||
};
|
||||
@@ -1536,6 +1532,17 @@ enum ieee80211_hw_flags {
|
||||
* @netdev_features: netdev features to be set in each netdev created
|
||||
* from this HW. Note only HW checksum features are currently
|
||||
* compatible with mac80211. Other feature bits will be rejected.
|
||||
*
|
||||
* @uapsd_queues: This bitmap is included in (re)association frame to indicate
|
||||
* for each access category if it is uAPSD trigger-enabled and delivery-
|
||||
* enabled. Use IEEE80211_WMM_IE_STA_QOSINFO_AC_* to set this bitmap.
|
||||
* Each bit corresponds to different AC. Value '1' in specific bit means
|
||||
* that corresponding AC is both trigger- and delivery-enabled. '0' means
|
||||
* neither enabled.
|
||||
*
|
||||
* @uapsd_max_sp_len: maximum number of total buffered frames the WMM AP may
|
||||
* deliver to a WMM STA during any Service Period triggered by the WMM STA.
|
||||
* Use IEEE80211_WMM_IE_STA_QOSINFO_SP_* for correct values.
|
||||
*/
|
||||
struct ieee80211_hw {
|
||||
struct ieee80211_conf conf;
|
||||
@@ -1561,6 +1568,8 @@ struct ieee80211_hw {
|
||||
u8 radiotap_mcs_details;
|
||||
u16 radiotap_vht_details;
|
||||
netdev_features_t netdev_features;
|
||||
u8 uapsd_queues;
|
||||
u8 uapsd_max_sp_len;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -4205,31 +4214,33 @@ void ieee80211_rate_control_unregister(struct rate_control_ops *ops);
|
||||
static inline bool
|
||||
conf_is_ht20(struct ieee80211_conf *conf)
|
||||
{
|
||||
return conf->channel_type == NL80211_CHAN_HT20;
|
||||
return conf->chandef.width == NL80211_CHAN_WIDTH_20;
|
||||
}
|
||||
|
||||
static inline bool
|
||||
conf_is_ht40_minus(struct ieee80211_conf *conf)
|
||||
{
|
||||
return conf->channel_type == NL80211_CHAN_HT40MINUS;
|
||||
return conf->chandef.width == NL80211_CHAN_WIDTH_40 &&
|
||||
conf->chandef.center_freq1 < conf->chandef.chan->center_freq;
|
||||
}
|
||||
|
||||
static inline bool
|
||||
conf_is_ht40_plus(struct ieee80211_conf *conf)
|
||||
{
|
||||
return conf->channel_type == NL80211_CHAN_HT40PLUS;
|
||||
return conf->chandef.width == NL80211_CHAN_WIDTH_40 &&
|
||||
conf->chandef.center_freq1 > conf->chandef.chan->center_freq;
|
||||
}
|
||||
|
||||
static inline bool
|
||||
conf_is_ht40(struct ieee80211_conf *conf)
|
||||
{
|
||||
return conf_is_ht40_minus(conf) || conf_is_ht40_plus(conf);
|
||||
return conf->chandef.width == NL80211_CHAN_WIDTH_40;
|
||||
}
|
||||
|
||||
static inline bool
|
||||
conf_is_ht(struct ieee80211_conf *conf)
|
||||
{
|
||||
return conf->channel_type != NL80211_CHAN_NO_HT;
|
||||
return conf->chandef.width != NL80211_CHAN_WIDTH_20_NOHT;
|
||||
}
|
||||
|
||||
static inline enum nl80211_iftype
|
||||
|
Reference in New Issue
Block a user