aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/mac80211.h
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2013-01-29 09:02:27 -0500
committerJohannes Berg <johannes.berg@intel.com>2013-01-31 08:28:43 -0500
commit1672c0e31917f49d31d30d79067103432bc20cc7 (patch)
treecc5b6b0017129b5748cfa2bace537d43c991d66c /include/net/mac80211.h
parent3ff9a827c683353b9826ef57366b0f313acc21b0 (diff)
mac80211: start auth/assoc timeout on frame status
When sending authentication/association frames they might take a bit of time to go out because we may have to synchronise with the AP, in particular in the case where it's really a P2P GO. In this case the 200ms fixed timeout could potentially be too short if the beacon interval is relatively large. For drivers that report TX status we can do better. Instead of starting the timeout directly, start it only when the frame status arrives. Since then the frame was out on the air, we can wait shorter (the typical response time is supposed to be 30ms, wait 100ms.) Also, if the frame failed to be transmitted try again right away instead of waiting. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'include/net/mac80211.h')
-rw-r--r--include/net/mac80211.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index 398b6ca4a9c5..164fd4b6503c 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -408,6 +408,9 @@ struct ieee80211_bss_conf {
408 * @IEEE80211_TX_INTFL_RETRANSMISSION: This frame is being retransmitted 408 * @IEEE80211_TX_INTFL_RETRANSMISSION: This frame is being retransmitted
409 * after TX status because the destination was asleep, it must not 409 * after TX status because the destination was asleep, it must not
410 * be modified again (no seqno assignment, crypto, etc.) 410 * be modified again (no seqno assignment, crypto, etc.)
411 * @IEEE80211_TX_INTFL_MLME_CONN_TX: This frame was transmitted by the MLME
412 * code for connection establishment, this indicates that its status
413 * should kick the MLME state machine.
411 * @IEEE80211_TX_INTFL_NL80211_FRAME_TX: Frame was requested through nl80211 414 * @IEEE80211_TX_INTFL_NL80211_FRAME_TX: Frame was requested through nl80211
412 * MLME command (internal to mac80211 to figure out whether to send TX 415 * MLME command (internal to mac80211 to figure out whether to send TX
413 * status to user space) 416 * status to user space)
@@ -459,7 +462,7 @@ enum mac80211_tx_control_flags {
459 IEEE80211_TX_CTL_NO_PS_BUFFER = BIT(17), 462 IEEE80211_TX_CTL_NO_PS_BUFFER = BIT(17),
460 IEEE80211_TX_CTL_MORE_FRAMES = BIT(18), 463 IEEE80211_TX_CTL_MORE_FRAMES = BIT(18),
461 IEEE80211_TX_INTFL_RETRANSMISSION = BIT(19), 464 IEEE80211_TX_INTFL_RETRANSMISSION = BIT(19),
462 /* hole at 20, use later */ 465 IEEE80211_TX_INTFL_MLME_CONN_TX = BIT(20),
463 IEEE80211_TX_INTFL_NL80211_FRAME_TX = BIT(21), 466 IEEE80211_TX_INTFL_NL80211_FRAME_TX = BIT(21),
464 IEEE80211_TX_CTL_LDPC = BIT(22), 467 IEEE80211_TX_CTL_LDPC = BIT(22),
465 IEEE80211_TX_CTL_STBC = BIT(23) | BIT(24), 468 IEEE80211_TX_CTL_STBC = BIT(23) | BIT(24),