diff options
author | Johannes Berg <johannes.berg@intel.com> | 2010-08-05 11:05:55 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-08-16 15:26:40 -0400 |
commit | d1f5b7a34aa5ff703c4966ea2652d4212ac75940 (patch) | |
tree | ecc8f06625bf4e48334420586d7e16f9645aa1e4 /net/mac80211/ieee80211_i.h | |
parent | 7da7cc1d42d8ce02cca16df8c021e6d657f1f8fd (diff) |
mac80211: allow drivers to request SM PS mode change
Sometimes drivers have more information than the
stack about how their antennas/chains are used,
and may require that the SM PS mode be changed.
This could happen, for example, when detecting
that the user disconnected an antenna. Thus this
patch introduces API to allow drivers to request
SM PS mode changes.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/ieee80211_i.h')
-rw-r--r-- | net/mac80211/ieee80211_i.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h index 98e783c6a363..1bf05bfd149d 100644 --- a/net/mac80211/ieee80211_i.h +++ b/net/mac80211/ieee80211_i.h | |||
@@ -343,7 +343,10 @@ struct ieee80211_if_managed { | |||
343 | unsigned long timers_running; /* used for quiesce/restart */ | 343 | unsigned long timers_running; /* used for quiesce/restart */ |
344 | bool powersave; /* powersave requested for this iface */ | 344 | bool powersave; /* powersave requested for this iface */ |
345 | enum ieee80211_smps_mode req_smps, /* requested smps mode */ | 345 | enum ieee80211_smps_mode req_smps, /* requested smps mode */ |
346 | ap_smps; /* smps mode AP thinks we're in */ | 346 | ap_smps, /* smps mode AP thinks we're in */ |
347 | driver_smps_mode; /* smps mode request */ | ||
348 | |||
349 | struct work_struct request_smps_work; | ||
347 | 350 | ||
348 | unsigned int flags; | 351 | unsigned int flags; |
349 | 352 | ||
@@ -1113,6 +1116,7 @@ void ieee80211_send_delba(struct ieee80211_sub_if_data *sdata, | |||
1113 | int ieee80211_send_smps_action(struct ieee80211_sub_if_data *sdata, | 1116 | int ieee80211_send_smps_action(struct ieee80211_sub_if_data *sdata, |
1114 | enum ieee80211_smps_mode smps, const u8 *da, | 1117 | enum ieee80211_smps_mode smps, const u8 *da, |
1115 | const u8 *bssid); | 1118 | const u8 *bssid); |
1119 | void ieee80211_request_smps_work(struct work_struct *work); | ||
1116 | 1120 | ||
1117 | void ___ieee80211_stop_rx_ba_session(struct sta_info *sta, u16 tid, | 1121 | void ___ieee80211_stop_rx_ba_session(struct sta_info *sta, u16 tid, |
1118 | u16 initiator, u16 reason); | 1122 | u16 initiator, u16 reason); |