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; | 337 » bool nullfunc_failed; |
339 bool tx_bitrate_changed; | 338 bool tx_bitrate_changed; |
340 | 339 |
341 struct mutex mtx; | 340 struct mutex mtx; |
342 struct cfg80211_bss *associated; | 341 struct cfg80211_bss *associated; |
343 | 342 |
344 u8 bssid[ETH_ALEN]; | 343 u8 bssid[ETH_ALEN]; |
345 | 344 |
346 u16 aid; | 345 u16 aid; |
347 | 346 |
348 unsigned long timers_running; /* used for quiesce/restart */ | 347 unsigned long timers_running; /* used for quiesce/restart */ |
(...skipping 20 matching lines...) Expand all Loading... |
369 | 368 |
370 /* | 369 /* |
371 * Weighted average of the signal strength from Beacon frames in the | 370 * 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 | 371 * 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 | 372 * accuracy and to speed up calculations, i.e., the value need to be |
374 * divided by 16 to get the actual value. | 373 * divided by 16 to get the actual value. |
375 */ | 374 */ |
376 int ave_beacon_signal; | 375 int ave_beacon_signal; |
377 | 376 |
378 /* | 377 /* |
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) | 378 * Last Beacon frame signal strength average (ave_beacon_signal / 16) |
387 * that triggered a cqm event. 0 indicates that no event has been | 379 * that triggered a cqm event. 0 indicates that no event has been |
388 * generated for the current association. | 380 * generated for the current association. |
389 */ | 381 */ |
390 int last_cqm_event_signal; | 382 int last_cqm_event_signal; |
391 | 383 |
392 | 384 |
393 /* | 385 /* |
394 * Connection quality monitor bitrate threshold, a zero value | 386 * Connection quality monitor bitrate threshold, a zero value |
395 * implies disabled | 387 * implies disabled |
(...skipping 762 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1158 struct sta_info *sta, | 1150 struct sta_info *sta, |
1159 struct ieee80211_mgmt *mgmt, | 1151 struct ieee80211_mgmt *mgmt, |
1160 size_t len); | 1152 size_t len); |
1161 void ieee80211_process_addba_request(struct ieee80211_local *local, | 1153 void ieee80211_process_addba_request(struct ieee80211_local *local, |
1162 struct sta_info *sta, | 1154 struct sta_info *sta, |
1163 struct ieee80211_mgmt *mgmt, | 1155 struct ieee80211_mgmt *mgmt, |
1164 size_t len); | 1156 size_t len); |
1165 | 1157 |
1166 int __ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid, | 1158 int __ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid, |
1167 enum ieee80211_back_parties initiator, | 1159 enum ieee80211_back_parties initiator, |
1168 bool tx); | 1160 » » » » bool tx); |
1169 int ___ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid, | 1161 int ___ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid, |
1170 enum ieee80211_back_parties initiator, | 1162 enum ieee80211_back_parties initiator, |
1171 bool tx); | 1163 » » » » bool tx); |
1172 void ieee80211_start_tx_ba_cb(struct ieee80211_vif *vif, u8 *ra, u16 tid); | 1164 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); | 1165 void ieee80211_stop_tx_ba_cb(struct ieee80211_vif *vif, u8 *ra, u8 tid); |
1174 void ieee80211_ba_session_work(struct work_struct *work); | 1166 void ieee80211_ba_session_work(struct work_struct *work); |
1175 void ieee80211_tx_ba_session_handle_start(struct sta_info *sta, int tid); | 1167 void ieee80211_tx_ba_session_handle_start(struct sta_info *sta, int tid); |
1176 | 1168 |
1177 /* Spectrum management */ | 1169 /* Spectrum management */ |
1178 void ieee80211_process_measurement_req(struct ieee80211_sub_if_data *sdata, | 1170 void ieee80211_process_measurement_req(struct ieee80211_sub_if_data *sdata, |
1179 struct ieee80211_mgmt *mgmt, | 1171 struct ieee80211_mgmt *mgmt, |
1180 size_t len); | 1172 size_t len); |
1181 | 1173 |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1222 enum ieee80211_band band); | 1214 enum ieee80211_band band); |
1223 | 1215 |
1224 void ieee80211_dynamic_ps_enable_work(struct work_struct *work); | 1216 void ieee80211_dynamic_ps_enable_work(struct work_struct *work); |
1225 void ieee80211_dynamic_ps_disable_work(struct work_struct *work); | 1217 void ieee80211_dynamic_ps_disable_work(struct work_struct *work); |
1226 void ieee80211_dynamic_ps_timer(unsigned long data); | 1218 void ieee80211_dynamic_ps_timer(unsigned long data); |
1227 void ieee80211_send_nullfunc(struct ieee80211_local *local, | 1219 void ieee80211_send_nullfunc(struct ieee80211_local *local, |
1228 struct ieee80211_sub_if_data *sdata, | 1220 struct ieee80211_sub_if_data *sdata, |
1229 int powersave); | 1221 int powersave); |
1230 void ieee80211_sta_rx_notify(struct ieee80211_sub_if_data *sdata, | 1222 void ieee80211_sta_rx_notify(struct ieee80211_sub_if_data *sdata, |
1231 struct ieee80211_hdr *hdr); | 1223 struct ieee80211_hdr *hdr); |
| 1224 void ieee80211_sta_tx_notify(struct ieee80211_sub_if_data *sdata, |
| 1225 struct ieee80211_hdr *hdr, bool ack); |
1232 void ieee80211_beacon_connection_loss_work(struct work_struct *work); | 1226 void ieee80211_beacon_connection_loss_work(struct work_struct *work); |
1233 | 1227 |
1234 void ieee80211_wake_queues_by_reason(struct ieee80211_hw *hw, | 1228 void ieee80211_wake_queues_by_reason(struct ieee80211_hw *hw, |
1235 enum queue_stop_reason reason); | 1229 enum queue_stop_reason reason); |
1236 void ieee80211_stop_queues_by_reason(struct ieee80211_hw *hw, | 1230 void ieee80211_stop_queues_by_reason(struct ieee80211_hw *hw, |
1237 enum queue_stop_reason reason); | 1231 enum queue_stop_reason reason); |
1238 void ieee80211_wake_queue_by_reason(struct ieee80211_hw *hw, int queue, | 1232 void ieee80211_wake_queue_by_reason(struct ieee80211_hw *hw, int queue, |
1239 enum queue_stop_reason reason); | 1233 enum queue_stop_reason reason); |
1240 void ieee80211_stop_queue_by_reason(struct ieee80211_hw *hw, int queue, | 1234 void ieee80211_stop_queue_by_reason(struct ieee80211_hw *hw, int queue, |
1241 enum queue_stop_reason reason); | 1235 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, | 1292 struct ieee80211_sub_if_data *sdata, |
1299 enum nl80211_channel_type chantype); | 1293 enum nl80211_channel_type chantype); |
1300 | 1294 |
1301 #ifdef CONFIG_MAC80211_NOINLINE | 1295 #ifdef CONFIG_MAC80211_NOINLINE |
1302 #define debug_noinline noinline | 1296 #define debug_noinline noinline |
1303 #else | 1297 #else |
1304 #define debug_noinline | 1298 #define debug_noinline |
1305 #endif | 1299 #endif |
1306 | 1300 |
1307 #endif /* IEEE80211_I_H */ | 1301 #endif /* IEEE80211_I_H */ |
OLD | NEW |