aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/mac80211.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/net/mac80211.h')
-rw-r--r--include/net/mac80211.h24
1 files changed, 22 insertions, 2 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index 936bc410d061..d14226f29ffc 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -954,6 +954,11 @@ enum ieee80211_tkip_key_type {
954 * Hardware can provide ack status reports of Tx frames to 954 * Hardware can provide ack status reports of Tx frames to
955 * the stack. 955 * the stack.
956 * 956 *
957 * @IEEE80211_HW_CONNECTION_MONITOR:
958 * The hardware performs its own connection monitoring, including
959 * periodic keep-alives to the AP and probing the AP on beacon loss.
960 * When this flag is set, signaling beacon-loss will cause an immediate
961 * change to disassociated state.
957 */ 962 */
958enum ieee80211_hw_flags { 963enum ieee80211_hw_flags {
959 IEEE80211_HW_HAS_RATE_CONTROL = 1<<0, 964 IEEE80211_HW_HAS_RATE_CONTROL = 1<<0,
@@ -975,6 +980,7 @@ enum ieee80211_hw_flags {
975 IEEE80211_HW_SUPPORTS_DYNAMIC_SMPS = 1<<16, 980 IEEE80211_HW_SUPPORTS_DYNAMIC_SMPS = 1<<16,
976 IEEE80211_HW_SUPPORTS_UAPSD = 1<<17, 981 IEEE80211_HW_SUPPORTS_UAPSD = 1<<17,
977 IEEE80211_HW_REPORTS_TX_ACK_STATUS = 1<<18, 982 IEEE80211_HW_REPORTS_TX_ACK_STATUS = 1<<18,
983 IEEE80211_HW_CONNECTION_MONITOR = 1<<19,
978}; 984};
979 985
980/** 986/**
@@ -2364,12 +2370,26 @@ void ieee80211_sta_block_awake(struct ieee80211_hw *hw,
2364 * 2370 *
2365 * @vif: &struct ieee80211_vif pointer from the add_interface callback. 2371 * @vif: &struct ieee80211_vif pointer from the add_interface callback.
2366 * 2372 *
2367 * When beacon filtering is enabled with IEEE80211_HW_BEACON_FILTERING and 2373 * When beacon filtering is enabled with %IEEE80211_HW_BEACON_FILTERING and
2368 * IEEE80211_CONF_PS is set, the driver needs to inform whenever the 2374 * %IEEE80211_CONF_PS is set, the driver needs to inform whenever the
2369 * hardware is not receiving beacons with this function. 2375 * hardware is not receiving beacons with this function.
2370 */ 2376 */
2371void ieee80211_beacon_loss(struct ieee80211_vif *vif); 2377void ieee80211_beacon_loss(struct ieee80211_vif *vif);
2372 2378
2379/**
2380 * ieee80211_connection_loss - inform hardware has lost connection to the AP
2381 *
2382 * @vif: &struct ieee80211_vif pointer from the add_interface callback.
2383 *
2384 * When beacon filtering is enabled with %IEEE80211_HW_BEACON_FILTERING, and
2385 * %IEEE80211_CONF_PS and %IEEE80211_HW_CONNECTION_MONITOR are set, the driver
2386 * needs to inform if the connection to the AP has been lost.
2387 *
2388 * This function will cause immediate change to disassociated state,
2389 * without connection recovery attempts.
2390 */
2391void ieee80211_connection_loss(struct ieee80211_vif *vif);
2392
2373/* Rate control API */ 2393/* Rate control API */
2374 2394
2375/** 2395/**