OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2002-2005, Instant802 Networks, Inc. | 2 * Copyright 2002-2005, Instant802 Networks, Inc. |
3 * Copyright 2005, Devicescape Software, Inc. | 3 * Copyright 2005, Devicescape Software, Inc. |
4 * Copyright 2006-2007 Jiri Benc <jbenc@suse.cz> | 4 * Copyright 2006-2007 Jiri Benc <jbenc@suse.cz> |
5 * Copyright 2007-2010 Johannes Berg <johannes@sipsolutions.net> | 5 * Copyright 2007-2010 Johannes Berg <johannes@sipsolutions.net> |
6 * | 6 * |
7 * This program is free software; you can redistribute it and/or modify | 7 * This program is free software; you can redistribute it and/or modify |
8 * it under the terms of the GNU General Public License version 2 as | 8 * it under the terms of the GNU General Public License version 2 as |
9 * published by the Free Software Foundation. | 9 * published by the Free Software Foundation. |
10 */ | 10 */ |
(...skipping 312 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
323 | 323 |
324 struct ieee80211_if_managed { | 324 struct ieee80211_if_managed { |
325 struct timer_list timer; | 325 struct timer_list timer; |
326 struct timer_list conn_mon_timer; | 326 struct timer_list conn_mon_timer; |
327 struct timer_list bcn_mon_timer; | 327 struct timer_list bcn_mon_timer; |
328 struct timer_list chswitch_timer; | 328 struct timer_list chswitch_timer; |
329 struct work_struct monitor_work; | 329 struct work_struct monitor_work; |
330 struct work_struct chswitch_work; | 330 struct work_struct chswitch_work; |
331 struct work_struct beacon_connection_loss_work; | 331 struct work_struct beacon_connection_loss_work; |
332 struct work_struct bitrate_notify_work; | 332 struct work_struct bitrate_notify_work; |
333 struct work_struct probe_status_work; | |
334 | 333 |
335 » unsigned long bloss_timeout; | 334 » unsigned long beacon_timeout; |
336 unsigned long probe_timeout; | 335 unsigned long probe_timeout; |
337 int probe_send_count; | 336 int probe_send_count; |
338 bool probe_acked; | |
339 bool tx_bitrate_changed; | 337 bool tx_bitrate_changed; |
340 | 338 |
341 struct mutex mtx; | 339 struct mutex mtx; |
342 struct cfg80211_bss *associated; | 340 struct cfg80211_bss *associated; |
343 | 341 |
344 u8 bssid[ETH_ALEN]; | 342 u8 bssid[ETH_ALEN]; |
345 | 343 |
346 u16 aid; | 344 u16 aid; |
347 | 345 |
348 unsigned long timers_running; /* used for quiesce/restart */ | 346 unsigned long timers_running; /* used for quiesce/restart */ |
(...skipping 20 matching lines...) Expand all Loading... |
369 | 367 |
370 /* | 368 /* |
371 * Weighted average of the signal strength from Beacon frames in the | 369 * Weighted average of the signal strength from Beacon frames in the |
372 * current BSS. This is in units of 1/16 of the signal unit to maintain | 370 * current BSS. This is in units of 1/16 of the signal unit to maintain |
373 * accuracy and to speed up calculations, i.e., the value need to be | 371 * accuracy and to speed up calculations, i.e., the value need to be |
374 * divided by 16 to get the actual value. | 372 * divided by 16 to get the actual value. |
375 */ | 373 */ |
376 int ave_beacon_signal; | 374 int ave_beacon_signal; |
377 | 375 |
378 /* | 376 /* |
379 * Number of Beacon frames used in ave_beacon_signal. This can be used | |
380 * to avoid generating less reliable cqm events that would be based | |
381 * only on couple of received frames. | |
382 */ | |
383 unsigned int count_beacon_signal; | |
384 | |
385 /* | |
386 * Last Beacon frame signal strength average (ave_beacon_signal / 16) | 377 * Last Beacon frame signal strength average (ave_beacon_signal / 16) |
387 * that triggered a cqm event. 0 indicates that no event has been | 378 * that triggered a cqm event. 0 indicates that no event has been |
388 * generated for the current association. | 379 * generated for the current association. |
389 */ | 380 */ |
390 int last_cqm_event_signal; | 381 int last_cqm_event_signal; |
391 | 382 |
392 | 383 |
393 /* | 384 /* |
394 * Connection quality monitor bitrate threshold, a zero value | 385 * Connection quality monitor bitrate threshold, a zero value |
395 * implies disabled | 386 * implies disabled |
(...skipping 744 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1140 struct ieee80211_sta_ht_cap *ht_cap); | 1131 struct ieee80211_sta_ht_cap *ht_cap); |
1141 void ieee80211_send_bar(struct ieee80211_sub_if_data *sdata, u8 *ra, u16 tid, u1
6 ssn); | 1132 void ieee80211_send_bar(struct ieee80211_sub_if_data *sdata, u8 *ra, u16 tid, u1
6 ssn); |
1142 void ieee80211_send_delba(struct ieee80211_sub_if_data *sdata, | 1133 void ieee80211_send_delba(struct ieee80211_sub_if_data *sdata, |
1143 const u8 *da, u16 tid, | 1134 const u8 *da, u16 tid, |
1144 u16 initiator, u16 reason_code); | 1135 u16 initiator, u16 reason_code); |
1145 int ieee80211_send_smps_action(struct ieee80211_sub_if_data *sdata, | 1136 int ieee80211_send_smps_action(struct ieee80211_sub_if_data *sdata, |
1146 enum ieee80211_smps_mode smps, const u8 *da, | 1137 enum ieee80211_smps_mode smps, const u8 *da, |
1147 const u8 *bssid); | 1138 const u8 *bssid); |
1148 | 1139 |
1149 void ___ieee80211_stop_rx_ba_session(struct sta_info *sta, u16 tid, | 1140 void ___ieee80211_stop_rx_ba_session(struct sta_info *sta, u16 tid, |
1150 » » » » u16 initiator, u16 reason, bool stop); | 1141 » » » » u16 initiator, u16 reason); |
1151 void __ieee80211_stop_rx_ba_session(struct sta_info *sta, u16 tid, | 1142 void __ieee80211_stop_rx_ba_session(struct sta_info *sta, u16 tid, |
1152 » » » » u16 initiator, u16 reason, bool stop); | 1143 » » » » u16 initiator, u16 reason); |
1153 void ieee80211_sta_tear_down_BA_sessions(struct sta_info *sta, bool tx); | 1144 void ieee80211_sta_tear_down_BA_sessions(struct sta_info *sta); |
1154 void ieee80211_process_delba(struct ieee80211_sub_if_data *sdata, | 1145 void ieee80211_process_delba(struct ieee80211_sub_if_data *sdata, |
1155 struct sta_info *sta, | 1146 struct sta_info *sta, |
1156 struct ieee80211_mgmt *mgmt, size_t len); | 1147 struct ieee80211_mgmt *mgmt, size_t len); |
1157 void ieee80211_process_addba_resp(struct ieee80211_local *local, | 1148 void ieee80211_process_addba_resp(struct ieee80211_local *local, |
1158 struct sta_info *sta, | 1149 struct sta_info *sta, |
1159 struct ieee80211_mgmt *mgmt, | 1150 struct ieee80211_mgmt *mgmt, |
1160 size_t len); | 1151 size_t len); |
1161 void ieee80211_process_addba_request(struct ieee80211_local *local, | 1152 void ieee80211_process_addba_request(struct ieee80211_local *local, |
1162 struct sta_info *sta, | 1153 struct sta_info *sta, |
1163 struct ieee80211_mgmt *mgmt, | 1154 struct ieee80211_mgmt *mgmt, |
1164 size_t len); | 1155 size_t len); |
1165 | 1156 |
1166 int __ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid, | 1157 int __ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid, |
1167 » » » » enum ieee80211_back_parties initiator, | 1158 » » » » enum ieee80211_back_parties initiator); |
1168 bool tx); | |
1169 int ___ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid, | 1159 int ___ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid, |
1170 » » » » enum ieee80211_back_parties initiator, | 1160 » » » » enum ieee80211_back_parties initiator); |
1171 bool tx); | |
1172 void ieee80211_start_tx_ba_cb(struct ieee80211_vif *vif, u8 *ra, u16 tid); | 1161 void ieee80211_start_tx_ba_cb(struct ieee80211_vif *vif, u8 *ra, u16 tid); |
1173 void ieee80211_stop_tx_ba_cb(struct ieee80211_vif *vif, u8 *ra, u8 tid); | 1162 void ieee80211_stop_tx_ba_cb(struct ieee80211_vif *vif, u8 *ra, u8 tid); |
1174 void ieee80211_ba_session_work(struct work_struct *work); | 1163 void ieee80211_ba_session_work(struct work_struct *work); |
1175 void ieee80211_tx_ba_session_handle_start(struct sta_info *sta, int tid); | 1164 void ieee80211_tx_ba_session_handle_start(struct sta_info *sta, int tid); |
1176 | 1165 |
1177 /* Spectrum management */ | 1166 /* Spectrum management */ |
1178 void ieee80211_process_measurement_req(struct ieee80211_sub_if_data *sdata, | 1167 void ieee80211_process_measurement_req(struct ieee80211_sub_if_data *sdata, |
1179 struct ieee80211_mgmt *mgmt, | 1168 struct ieee80211_mgmt *mgmt, |
1180 size_t len); | 1169 size_t len); |
1181 | 1170 |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1222 enum ieee80211_band band); | 1211 enum ieee80211_band band); |
1223 | 1212 |
1224 void ieee80211_dynamic_ps_enable_work(struct work_struct *work); | 1213 void ieee80211_dynamic_ps_enable_work(struct work_struct *work); |
1225 void ieee80211_dynamic_ps_disable_work(struct work_struct *work); | 1214 void ieee80211_dynamic_ps_disable_work(struct work_struct *work); |
1226 void ieee80211_dynamic_ps_timer(unsigned long data); | 1215 void ieee80211_dynamic_ps_timer(unsigned long data); |
1227 void ieee80211_send_nullfunc(struct ieee80211_local *local, | 1216 void ieee80211_send_nullfunc(struct ieee80211_local *local, |
1228 struct ieee80211_sub_if_data *sdata, | 1217 struct ieee80211_sub_if_data *sdata, |
1229 int powersave); | 1218 int powersave); |
1230 void ieee80211_sta_rx_notify(struct ieee80211_sub_if_data *sdata, | 1219 void ieee80211_sta_rx_notify(struct ieee80211_sub_if_data *sdata, |
1231 struct ieee80211_hdr *hdr); | 1220 struct ieee80211_hdr *hdr); |
| 1221 void ieee80211_sta_tx_notify(struct ieee80211_sub_if_data *sdata, |
| 1222 struct ieee80211_hdr *hdr); |
1232 void ieee80211_beacon_connection_loss_work(struct work_struct *work); | 1223 void ieee80211_beacon_connection_loss_work(struct work_struct *work); |
1233 | 1224 |
1234 void ieee80211_wake_queues_by_reason(struct ieee80211_hw *hw, | 1225 void ieee80211_wake_queues_by_reason(struct ieee80211_hw *hw, |
1235 enum queue_stop_reason reason); | 1226 enum queue_stop_reason reason); |
1236 void ieee80211_stop_queues_by_reason(struct ieee80211_hw *hw, | 1227 void ieee80211_stop_queues_by_reason(struct ieee80211_hw *hw, |
1237 enum queue_stop_reason reason); | 1228 enum queue_stop_reason reason); |
1238 void ieee80211_wake_queue_by_reason(struct ieee80211_hw *hw, int queue, | 1229 void ieee80211_wake_queue_by_reason(struct ieee80211_hw *hw, int queue, |
1239 enum queue_stop_reason reason); | 1230 enum queue_stop_reason reason); |
1240 void ieee80211_stop_queue_by_reason(struct ieee80211_hw *hw, int queue, | 1231 void ieee80211_stop_queue_by_reason(struct ieee80211_hw *hw, int queue, |
1241 enum queue_stop_reason reason); | 1232 enum queue_stop_reason reason); |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1298 struct ieee80211_sub_if_data *sdata, | 1289 struct ieee80211_sub_if_data *sdata, |
1299 enum nl80211_channel_type chantype); | 1290 enum nl80211_channel_type chantype); |
1300 | 1291 |
1301 #ifdef CONFIG_MAC80211_NOINLINE | 1292 #ifdef CONFIG_MAC80211_NOINLINE |
1302 #define debug_noinline noinline | 1293 #define debug_noinline noinline |
1303 #else | 1294 #else |
1304 #define debug_noinline | 1295 #define debug_noinline |
1305 #endif | 1296 #endif |
1306 | 1297 |
1307 #endif /* IEEE80211_I_H */ | 1298 #endif /* IEEE80211_I_H */ |
OLD | NEW |