-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge tag 'mac80211-next-for-john-2014-09-12' of git://git.kernel.org…
…/pub/scm/linux/kernel/git/jberg/mac80211-next Johannes Berg <[email protected]> says: "This time, I have some rate minstrel improvements, support for a very small feature from CCX that Steinar reverse-engineered, dynamic ACK timeout support, a number of changes for TDLS, early support for radio resource measurement and many fixes. Also, I'm changing a number of places to clear key memory when it's freed and Intel claims copyright for code they developed." Conflicts: net/mac80211/iface.c Signed-off-by: John W. Linville <[email protected]>
- Loading branch information
Showing
56 changed files
with
1,115 additions
and
399 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -6,6 +6,7 @@ | |
* Copyright (c) 2002-2003, Jouni Malinen <[email protected]> | ||
* Copyright (c) 2005, Devicescape Software, Inc. | ||
* Copyright (c) 2006, Michael Wu <[email protected]> | ||
* Copyright (c) 2013 - 2014 Intel Mobile Communications GmbH | ||
* | ||
* This program is free software; you can redistribute it and/or modify | ||
* it under the terms of the GNU General Public License version 2 as | ||
|
@@ -165,8 +166,12 @@ static inline u16 ieee80211_sn_sub(u16 sn1, u16 sn2) | |
|
||
#define IEEE80211_MAX_MESH_ID_LEN 32 | ||
|
||
#define IEEE80211_FIRST_TSPEC_TSID 8 | ||
#define IEEE80211_NUM_TIDS 16 | ||
|
||
/* number of user priorities 802.11 uses */ | ||
#define IEEE80211_NUM_UPS 8 | ||
|
||
#define IEEE80211_QOS_CTL_LEN 2 | ||
/* 1d tag mask */ | ||
#define IEEE80211_QOS_CTL_TAG1D_MASK 0x0007 | ||
|
@@ -1823,7 +1828,8 @@ enum ieee80211_eid { | |
WLAN_EID_DMG_TSPEC = 146, | ||
WLAN_EID_DMG_AT = 147, | ||
WLAN_EID_DMG_CAP = 148, | ||
/* 149-150 reserved for Cisco */ | ||
/* 149 reserved for Cisco */ | ||
WLAN_EID_CISCO_VENDOR_SPECIFIC = 150, | ||
WLAN_EID_DMG_OPERATION = 151, | ||
WLAN_EID_DMG_BSS_PARAM_CHANGE = 152, | ||
WLAN_EID_DMG_BEAM_REFINEMENT = 153, | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,6 +4,7 @@ | |
* 802.11 device and configuration interface | ||
* | ||
* Copyright 2006-2010 Johannes Berg <[email protected]> | ||
* Copyright 2013-2014 Intel Mobile Communications GmbH | ||
* | ||
* This program is free software; you can redistribute it and/or modify | ||
* it under the terms of the GNU General Public License version 2 as | ||
|
@@ -663,6 +664,7 @@ struct cfg80211_acl_data { | |
* @crypto: crypto settings | ||
* @privacy: the BSS uses privacy | ||
* @auth_type: Authentication type (algorithm) | ||
* @smps_mode: SMPS mode | ||
* @inactivity_timeout: time in seconds to determine station's inactivity. | ||
* @p2p_ctwindow: P2P CT Window | ||
* @p2p_opp_ps: P2P opportunistic PS | ||
|
@@ -681,6 +683,7 @@ struct cfg80211_ap_settings { | |
struct cfg80211_crypto_settings crypto; | ||
bool privacy; | ||
enum nl80211_auth_type auth_type; | ||
enum nl80211_smps_mode smps_mode; | ||
int inactivity_timeout; | ||
u8 p2p_ctwindow; | ||
bool p2p_opp_ps; | ||
|
@@ -1607,10 +1610,12 @@ struct cfg80211_auth_request { | |
* | ||
* @ASSOC_REQ_DISABLE_HT: Disable HT (802.11n) | ||
* @ASSOC_REQ_DISABLE_VHT: Disable VHT | ||
* @ASSOC_REQ_USE_RRM: Declare RRM capability in this association | ||
*/ | ||
enum cfg80211_assoc_req_flags { | ||
ASSOC_REQ_DISABLE_HT = BIT(0), | ||
ASSOC_REQ_DISABLE_VHT = BIT(1), | ||
ASSOC_REQ_USE_RRM = BIT(2), | ||
}; | ||
|
||
/** | ||
|
@@ -1802,13 +1807,15 @@ struct cfg80211_connect_params { | |
* @WIPHY_PARAM_FRAG_THRESHOLD: wiphy->frag_threshold has changed | ||
* @WIPHY_PARAM_RTS_THRESHOLD: wiphy->rts_threshold has changed | ||
* @WIPHY_PARAM_COVERAGE_CLASS: coverage class changed | ||
* @WIPHY_PARAM_DYN_ACK: dynack has been enabled | ||
*/ | ||
enum wiphy_params_flags { | ||
WIPHY_PARAM_RETRY_SHORT = 1 << 0, | ||
WIPHY_PARAM_RETRY_LONG = 1 << 1, | ||
WIPHY_PARAM_FRAG_THRESHOLD = 1 << 2, | ||
WIPHY_PARAM_RTS_THRESHOLD = 1 << 3, | ||
WIPHY_PARAM_COVERAGE_CLASS = 1 << 4, | ||
WIPHY_PARAM_DYN_ACK = 1 << 5, | ||
}; | ||
|
||
/* | ||
|
@@ -1975,14 +1982,12 @@ struct cfg80211_wowlan_wakeup { | |
|
||
/** | ||
* struct cfg80211_gtk_rekey_data - rekey data | ||
* @kek: key encryption key | ||
* @kck: key confirmation key | ||
* @replay_ctr: replay counter | ||
* @kek: key encryption key (NL80211_KEK_LEN bytes) | ||
* @kck: key confirmation key (NL80211_KCK_LEN bytes) | ||
* @replay_ctr: replay counter (NL80211_REPLAY_CTR_LEN bytes) | ||
*/ | ||
struct cfg80211_gtk_rekey_data { | ||
u8 kek[NL80211_KEK_LEN]; | ||
u8 kck[NL80211_KCK_LEN]; | ||
u8 replay_ctr[NL80211_REPLAY_CTR_LEN]; | ||
const u8 *kek, *kck, *replay_ctr; | ||
}; | ||
|
||
/** | ||
|
@@ -2315,6 +2320,17 @@ struct cfg80211_qos_map { | |
* @set_ap_chanwidth: Set the AP (including P2P GO) mode channel width for the | ||
* given interface This is used e.g. for dynamic HT 20/40 MHz channel width | ||
* changes during the lifetime of the BSS. | ||
* | ||
* @add_tx_ts: validate (if admitted_time is 0) or add a TX TS to the device | ||
* with the given parameters; action frame exchange has been handled by | ||
* userspace so this just has to modify the TX path to take the TS into | ||
* account. | ||
* If the admitted time is 0 just validate the parameters to make sure | ||
* the session can be created at all; it is valid to just always return | ||
* success for that but that may result in inefficient behaviour (handshake | ||
* with the peer followed by immediate teardown when the addition is later | ||
* rejected) | ||
* @del_tx_ts: remove an existing TX TS | ||
*/ | ||
struct cfg80211_ops { | ||
int (*suspend)(struct wiphy *wiphy, struct cfg80211_wowlan *wow); | ||
|
@@ -2555,6 +2571,12 @@ struct cfg80211_ops { | |
|
||
int (*set_ap_chanwidth)(struct wiphy *wiphy, struct net_device *dev, | ||
struct cfg80211_chan_def *chandef); | ||
|
||
int (*add_tx_ts)(struct wiphy *wiphy, struct net_device *dev, | ||
u8 tsid, const u8 *peer, u8 user_prio, | ||
u16 admitted_time); | ||
int (*del_tx_ts)(struct wiphy *wiphy, struct net_device *dev, | ||
u8 tsid, const u8 *peer); | ||
}; | ||
|
||
/* | ||
|
@@ -2601,9 +2623,13 @@ struct cfg80211_ops { | |
* @WIPHY_FLAG_SUPPORTS_5_10_MHZ: Device supports 5 MHz and 10 MHz channels. | ||
* @WIPHY_FLAG_HAS_CHANNEL_SWITCH: Device supports channel switch in | ||
* beaconing mode (AP, IBSS, Mesh, ...). | ||
* @WIPHY_FLAG_SUPPORTS_WMM_ADMISSION: the device supports setting up WMM | ||
* TSPEC sessions (TID aka TSID 0-7) with the NL80211_CMD_ADD_TX_TS | ||
* command. Standard IEEE 802.11 TSPEC setup is not yet supported, it | ||
* needs to be able to handle Block-Ack agreements and other things. | ||
*/ | ||
enum wiphy_flags { | ||
/* use hole at 0 */ | ||
WIPHY_FLAG_SUPPORTS_WMM_ADMISSION = BIT(0), | ||
/* use hole at 1 */ | ||
/* use hole at 2 */ | ||
WIPHY_FLAG_NETNS_OK = BIT(3), | ||
|
@@ -3920,6 +3946,7 @@ void cfg80211_auth_timeout(struct net_device *dev, const u8 *addr); | |
* moves to cfg80211 in this call | ||
* @buf: authentication frame (header + body) | ||
* @len: length of the frame data | ||
* @uapsd_queues: bitmap of ACs configured to uapsd. -1 if n/a. | ||
* | ||
* After being asked to associate via cfg80211_ops::assoc() the driver must | ||
* call either this function or cfg80211_auth_timeout(). | ||
|
@@ -3928,7 +3955,8 @@ void cfg80211_auth_timeout(struct net_device *dev, const u8 *addr); | |
*/ | ||
void cfg80211_rx_assoc_resp(struct net_device *dev, | ||
struct cfg80211_bss *bss, | ||
const u8 *buf, size_t len); | ||
const u8 *buf, size_t len, | ||
int uapsd_queues); | ||
|
||
/** | ||
* cfg80211_assoc_timeout - notification of timed out association | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,6 +4,7 @@ | |
* Copyright 2002-2005, Devicescape Software, Inc. | ||
* Copyright 2006-2007 Jiri Benc <[email protected]> | ||
* Copyright 2007-2010 Johannes Berg <[email protected]> | ||
* Copyright 2013-2014 Intel Mobile Communications GmbH | ||
* | ||
* This program is free software; you can redistribute it and/or modify | ||
* it under the terms of the GNU General Public License version 2 as | ||
|
@@ -1536,16 +1537,6 @@ struct ieee80211_tx_control { | |
* @IEEE80211_HW_MFP_CAPABLE: | ||
* Hardware supports management frame protection (MFP, IEEE 802.11w). | ||
* | ||
* @IEEE80211_HW_SUPPORTS_STATIC_SMPS: | ||
* Hardware supports static spatial multiplexing powersave, | ||
* ie. can turn off all but one chain even on HT connections | ||
* that should be using more chains. | ||
* | ||
* @IEEE80211_HW_SUPPORTS_DYNAMIC_SMPS: | ||
* Hardware supports dynamic spatial multiplexing powersave, | ||
* ie. can turn off all but one chain and then wake the rest | ||
* up as required after, for example, rts/cts handshake. | ||
* | ||
* @IEEE80211_HW_SUPPORTS_UAPSD: | ||
* Hardware supports Unscheduled Automatic Power Save Delivery | ||
* (U-APSD) in managed mode. The mode is configured with | ||
|
@@ -1631,8 +1622,7 @@ enum ieee80211_hw_flags { | |
IEEE80211_HW_SUPPORTS_DYNAMIC_PS = 1<<12, | ||
IEEE80211_HW_MFP_CAPABLE = 1<<13, | ||
IEEE80211_HW_WANT_MONITOR_VIF = 1<<14, | ||
IEEE80211_HW_SUPPORTS_STATIC_SMPS = 1<<15, | ||
IEEE80211_HW_SUPPORTS_DYNAMIC_SMPS = 1<<16, | ||
/* free slots */ | ||
IEEE80211_HW_SUPPORTS_UAPSD = 1<<17, | ||
IEEE80211_HW_REPORTS_TX_ACK_STATUS = 1<<18, | ||
IEEE80211_HW_CONNECTION_MONITOR = 1<<19, | ||
|
@@ -2672,7 +2662,9 @@ enum ieee80211_roc_type { | |
* | ||
* @set_coverage_class: Set slot time for given coverage class as specified | ||
* in IEEE 802.11-2007 section 17.3.8.6 and modify ACK timeout | ||
* accordingly. This callback is not required and may sleep. | ||
* accordingly; coverage class equals to -1 to enable ACK timeout | ||
* estimation algorithm (dynack). To disable dynack set valid value for | ||
* coverage class. This callback is not required and may sleep. | ||
* | ||
* @testmode_cmd: Implement a cfg80211 test mode command. The passed @vif may | ||
* be %NULL. The callback can sleep. | ||
|
@@ -2956,7 +2948,7 @@ struct ieee80211_ops { | |
int (*get_survey)(struct ieee80211_hw *hw, int idx, | ||
struct survey_info *survey); | ||
void (*rfkill_poll)(struct ieee80211_hw *hw); | ||
void (*set_coverage_class)(struct ieee80211_hw *hw, u8 coverage_class); | ||
void (*set_coverage_class)(struct ieee80211_hw *hw, s16 coverage_class); | ||
#ifdef CONFIG_NL80211_TESTMODE | ||
int (*testmode_cmd)(struct ieee80211_hw *hw, struct ieee80211_vif *vif, | ||
void *data, int len); | ||
|
Oops, something went wrong.