Merge tag 'mac80211-next-for-davem-2015-08-14' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next
Johannes Berg says: ==================== Another pull request for the next cycle, this time with quite a bit of content: * mesh fixes/improvements from Alexis, Bob, Chun-Yeow and Jesse * TDLS higher bandwidth support (Arik) * OCB fixes from Bertold Van den Bergh * suspend/resume fixes from Eliad * dynamic SMPS support for minstrel-HT (Krishna Chaitanya) * VHT bitrate mask support (Lorenzo Bianconi) * better regulatory support for 5/10 MHz channels (Matthias May) * basic support for MU-MIMO to avoid the multi-vif issue (Sara Sharon) along with a number of other cleanups. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
@@ -2369,8 +2369,7 @@ struct cfg80211_qos_map {
|
||||
* method returns 0.)
|
||||
*
|
||||
* @mgmt_frame_register: Notify driver that a management frame type was
|
||||
* registered. Note that this callback may not sleep, and cannot run
|
||||
* concurrently with itself.
|
||||
* registered. The callback is allowed to sleep.
|
||||
*
|
||||
* @set_antenna: Set antenna configuration (tx_ant, rx_ant) on the device.
|
||||
* Parameters are bitmaps of allowed antennas to use for TX/RX. Drivers may
|
||||
|
||||
+36
-33
@@ -973,6 +973,10 @@ ieee80211_tx_info_clear_status(struct ieee80211_tx_info *info)
|
||||
* @RX_FLAG_IV_STRIPPED: The IV/ICV are stripped from this frame.
|
||||
* If this flag is set, the stack cannot do any replay detection
|
||||
* hence the driver or hardware will have to do that.
|
||||
* @RX_FLAG_PN_VALIDATED: Currently only valid for CCMP/GCMP frames, this
|
||||
* flag indicates that the PN was verified for replay protection.
|
||||
* Note that this flag is also currently only supported when a frame
|
||||
* is also decrypted (ie. @RX_FLAG_DECRYPTED must be set)
|
||||
* @RX_FLAG_FAILED_FCS_CRC: Set this flag if the FCS check failed on
|
||||
* the frame.
|
||||
* @RX_FLAG_FAILED_PLCP_CRC: Set this flag if the PCLP check failed on
|
||||
@@ -997,9 +1001,6 @@ ieee80211_tx_info_clear_status(struct ieee80211_tx_info *info)
|
||||
* @RX_FLAG_AMPDU_DETAILS: A-MPDU details are known, in particular the reference
|
||||
* number (@ampdu_reference) must be populated and be a distinct number for
|
||||
* each A-MPDU
|
||||
* @RX_FLAG_AMPDU_REPORT_ZEROLEN: driver reports 0-length subframes
|
||||
* @RX_FLAG_AMPDU_IS_ZEROLEN: This is a zero-length subframe, for
|
||||
* monitoring purposes only
|
||||
* @RX_FLAG_AMPDU_LAST_KNOWN: last subframe is known, should be set on all
|
||||
* subframes of a single A-MPDU
|
||||
* @RX_FLAG_AMPDU_IS_LAST: this subframe is the last subframe of the A-MPDU
|
||||
@@ -1039,8 +1040,8 @@ enum mac80211_rx_flags {
|
||||
RX_FLAG_NO_SIGNAL_VAL = BIT(12),
|
||||
RX_FLAG_HT_GF = BIT(13),
|
||||
RX_FLAG_AMPDU_DETAILS = BIT(14),
|
||||
RX_FLAG_AMPDU_REPORT_ZEROLEN = BIT(15),
|
||||
RX_FLAG_AMPDU_IS_ZEROLEN = BIT(16),
|
||||
RX_FLAG_PN_VALIDATED = BIT(15),
|
||||
/* bit 16 free */
|
||||
RX_FLAG_AMPDU_LAST_KNOWN = BIT(17),
|
||||
RX_FLAG_AMPDU_IS_LAST = BIT(18),
|
||||
RX_FLAG_AMPDU_DELIM_CRC_ERROR = BIT(19),
|
||||
@@ -1491,8 +1492,10 @@ enum ieee80211_key_flags {
|
||||
* - Temporal Authenticator Rx MIC Key (64 bits)
|
||||
* @icv_len: The ICV length for this key type
|
||||
* @iv_len: The IV length for this key type
|
||||
* @drv_priv: pointer for driver use
|
||||
*/
|
||||
struct ieee80211_key_conf {
|
||||
void *drv_priv;
|
||||
atomic64_t tx_pn;
|
||||
u32 cipher;
|
||||
u8 icv_len;
|
||||
@@ -1675,7 +1678,6 @@ struct ieee80211_sta_rates {
|
||||
* @tdls: indicates whether the STA is a TDLS peer
|
||||
* @tdls_initiator: indicates the STA is an initiator of the TDLS link. Only
|
||||
* valid if the STA is a TDLS peer in the first place.
|
||||
* @mfp: indicates whether the STA uses management frame protection or not.
|
||||
* @txq: per-TID data TX queues (if driver uses the TXQ abstraction)
|
||||
*/
|
||||
struct ieee80211_sta {
|
||||
@@ -1693,7 +1695,6 @@ struct ieee80211_sta {
|
||||
struct ieee80211_sta_rates __rcu *rates;
|
||||
bool tdls;
|
||||
bool tdls_initiator;
|
||||
bool mfp;
|
||||
|
||||
struct ieee80211_txq *txq[IEEE80211_NUM_TIDS];
|
||||
|
||||
@@ -1888,6 +1889,9 @@ struct ieee80211_txq {
|
||||
* @IEEE80211_HW_SINGLE_SCAN_ON_ALL_BANDS: The HW supports scanning on all bands
|
||||
* in one command, mac80211 doesn't have to run separate scans per band.
|
||||
*
|
||||
* @IEEE80211_HW_TDLS_WIDER_BW: The device/driver supports wider bandwidth
|
||||
* than then BSS bandwidth for a TDLS link on the base channel.
|
||||
*
|
||||
* @NUM_IEEE80211_HW_FLAGS: number of hardware flags, used for sizing arrays
|
||||
*/
|
||||
enum ieee80211_hw_flags {
|
||||
@@ -1920,6 +1924,7 @@ enum ieee80211_hw_flags {
|
||||
IEEE80211_HW_CHANCTX_STA_CSA,
|
||||
IEEE80211_HW_SUPPORTS_CLONED_SKBS,
|
||||
IEEE80211_HW_SINGLE_SCAN_ON_ALL_BANDS,
|
||||
IEEE80211_HW_TDLS_WIDER_BW,
|
||||
|
||||
/* keep last, obviously */
|
||||
NUM_IEEE80211_HW_FLAGS
|
||||
@@ -3696,20 +3701,28 @@ void ieee80211_free_hw(struct ieee80211_hw *hw);
|
||||
void ieee80211_restart_hw(struct ieee80211_hw *hw);
|
||||
|
||||
/**
|
||||
* ieee80211_napi_add - initialize mac80211 NAPI context
|
||||
* @hw: the hardware to initialize the NAPI context on
|
||||
* @napi: the NAPI context to initialize
|
||||
* @napi_dev: dummy NAPI netdevice, here to not waste the space if the
|
||||
* driver doesn't use NAPI
|
||||
* @poll: poll function
|
||||
* @weight: default weight
|
||||
* ieee80211_rx_napi - receive frame from NAPI context
|
||||
*
|
||||
* See also netif_napi_add().
|
||||
* Use this function to hand received frames to mac80211. The receive
|
||||
* buffer in @skb must start with an IEEE 802.11 header. In case of a
|
||||
* paged @skb is used, the driver is recommended to put the ieee80211
|
||||
* header of the frame on the linear part of the @skb to avoid memory
|
||||
* allocation and/or memcpy by the stack.
|
||||
*
|
||||
* This function may not be called in IRQ context. Calls to this function
|
||||
* for a single hardware must be synchronized against each other. Calls to
|
||||
* this function, ieee80211_rx_ni() and ieee80211_rx_irqsafe() may not be
|
||||
* mixed for a single hardware. Must not run concurrently with
|
||||
* ieee80211_tx_status() or ieee80211_tx_status_ni().
|
||||
*
|
||||
* This function must be called with BHs disabled.
|
||||
*
|
||||
* @hw: the hardware this frame came in on
|
||||
* @skb: the buffer to receive, owned by mac80211 after this call
|
||||
* @napi: the NAPI context
|
||||
*/
|
||||
void ieee80211_napi_add(struct ieee80211_hw *hw, struct napi_struct *napi,
|
||||
struct net_device *napi_dev,
|
||||
int (*poll)(struct napi_struct *, int),
|
||||
int weight);
|
||||
void ieee80211_rx_napi(struct ieee80211_hw *hw, struct sk_buff *skb,
|
||||
struct napi_struct *napi);
|
||||
|
||||
/**
|
||||
* ieee80211_rx - receive frame
|
||||
@@ -3731,7 +3744,10 @@ void ieee80211_napi_add(struct ieee80211_hw *hw, struct napi_struct *napi,
|
||||
* @hw: the hardware this frame came in on
|
||||
* @skb: the buffer to receive, owned by mac80211 after this call
|
||||
*/
|
||||
void ieee80211_rx(struct ieee80211_hw *hw, struct sk_buff *skb);
|
||||
static inline void ieee80211_rx(struct ieee80211_hw *hw, struct sk_buff *skb)
|
||||
{
|
||||
ieee80211_rx_napi(hw, skb, NULL);
|
||||
}
|
||||
|
||||
/**
|
||||
* ieee80211_rx_irqsafe - receive frame
|
||||
@@ -4314,19 +4330,6 @@ void ieee80211_get_tkip_rx_p1k(struct ieee80211_key_conf *keyconf,
|
||||
void ieee80211_get_tkip_p2k(struct ieee80211_key_conf *keyconf,
|
||||
struct sk_buff *skb, u8 *p2k);
|
||||
|
||||
/**
|
||||
* ieee80211_aes_cmac_calculate_k1_k2 - calculate the AES-CMAC sub keys
|
||||
*
|
||||
* This function computes the two AES-CMAC sub-keys, based on the
|
||||
* previously installed master key.
|
||||
*
|
||||
* @keyconf: the parameter passed with the set key
|
||||
* @k1: a buffer to be filled with the 1st sub-key
|
||||
* @k2: a buffer to be filled with the 2nd sub-key
|
||||
*/
|
||||
void ieee80211_aes_cmac_calculate_k1_k2(struct ieee80211_key_conf *keyconf,
|
||||
u8 *k1, u8 *k2);
|
||||
|
||||
/**
|
||||
* ieee80211_get_key_tx_seq - get key TX sequence counter
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user