mac80211: Support adding duration for prepare_tx() callback
There are specific cases, such as SAE authentication exchange, that might require long duration to complete. For such cases, add support for indicating to the driver the required duration of the prepare_tx() operation, so the driver would still be able to complete the frame exchange. Currently, indicate the duration only for SAE authentication exchange, as SAE authentication can take up to 2000 msec (as defined in IEEE P802.11-REVmd D1.0 p. 3504). As the patch modified the prepare_tx() callback API, also modify the relevant code in iwlwifi. Signed-off-by: Ilan Peer <ilan.peer@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
@@ -3378,6 +3378,8 @@ enum ieee80211_reconfig_type {
|
||||
* frame in case that no beacon was heard from the AP/P2P GO.
|
||||
* The callback will be called before each transmission and upon return
|
||||
* mac80211 will transmit the frame right away.
|
||||
* If duration is greater than zero, mac80211 hints to the driver the
|
||||
* duration for which the operation is requested.
|
||||
* The callback is optional and can (should!) sleep.
|
||||
*
|
||||
* @mgd_protect_tdls_discover: Protect a TDLS discovery session. After sending
|
||||
@@ -3697,7 +3699,8 @@ struct ieee80211_ops {
|
||||
u32 sset, u8 *data);
|
||||
|
||||
void (*mgd_prepare_tx)(struct ieee80211_hw *hw,
|
||||
struct ieee80211_vif *vif);
|
||||
struct ieee80211_vif *vif,
|
||||
u16 duration);
|
||||
|
||||
void (*mgd_protect_tdls_discover)(struct ieee80211_hw *hw,
|
||||
struct ieee80211_vif *vif);
|
||||
|
||||
Reference in New Issue
Block a user