diff options
Diffstat (limited to 'net/mac80211/ieee80211_i.h')
-rw-r--r-- | net/mac80211/ieee80211_i.h | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h index ed5bf8b4b5c2..fb5dbcb79a12 100644 --- a/net/mac80211/ieee80211_i.h +++ b/net/mac80211/ieee80211_i.h | |||
@@ -232,6 +232,7 @@ struct ieee80211_rx_data { | |||
232 | struct beacon_data { | 232 | struct beacon_data { |
233 | u8 *head, *tail; | 233 | u8 *head, *tail; |
234 | int head_len, tail_len; | 234 | int head_len, tail_len; |
235 | struct ieee80211_meshconf_ie *meshconf; | ||
235 | struct rcu_head rcu_head; | 236 | struct rcu_head rcu_head; |
236 | }; | 237 | }; |
237 | 238 | ||
@@ -540,7 +541,10 @@ struct ieee80211_mesh_sync_ops { | |||
540 | struct ieee80211_mgmt *mgmt, | 541 | struct ieee80211_mgmt *mgmt, |
541 | struct ieee802_11_elems *elems, | 542 | struct ieee802_11_elems *elems, |
542 | struct ieee80211_rx_status *rx_status); | 543 | struct ieee80211_rx_status *rx_status); |
543 | void (*adjust_tbtt)(struct ieee80211_sub_if_data *sdata); | 544 | |
545 | /* should be called with beacon_data under RCU read lock */ | ||
546 | void (*adjust_tbtt)(struct ieee80211_sub_if_data *sdata, | ||
547 | struct beacon_data *beacon); | ||
544 | /* add other framework functions here */ | 548 | /* add other framework functions here */ |
545 | }; | 549 | }; |
546 | 550 | ||
@@ -614,6 +618,9 @@ struct ieee80211_if_mesh { | |||
614 | bool chsw_init; | 618 | bool chsw_init; |
615 | u8 chsw_ttl; | 619 | u8 chsw_ttl; |
616 | u16 pre_value; | 620 | u16 pre_value; |
621 | |||
622 | /* offset from skb->data while building IE */ | ||
623 | int meshconf_offset; | ||
617 | }; | 624 | }; |
618 | 625 | ||
619 | #ifdef CONFIG_MAC80211_MESH | 626 | #ifdef CONFIG_MAC80211_MESH |
@@ -776,10 +783,6 @@ struct ieee80211_sub_if_data { | |||
776 | u32 mntr_flags; | 783 | u32 mntr_flags; |
777 | } u; | 784 | } u; |
778 | 785 | ||
779 | spinlock_t cleanup_stations_lock; | ||
780 | struct list_head cleanup_stations; | ||
781 | struct work_struct cleanup_stations_wk; | ||
782 | |||
783 | #ifdef CONFIG_MAC80211_DEBUGFS | 786 | #ifdef CONFIG_MAC80211_DEBUGFS |
784 | struct { | 787 | struct { |
785 | struct dentry *subdir_stations; | 788 | struct dentry *subdir_stations; |
@@ -1117,6 +1120,7 @@ struct ieee80211_local { | |||
1117 | 1120 | ||
1118 | struct work_struct sched_scan_stopped_work; | 1121 | struct work_struct sched_scan_stopped_work; |
1119 | struct ieee80211_sub_if_data __rcu *sched_scan_sdata; | 1122 | struct ieee80211_sub_if_data __rcu *sched_scan_sdata; |
1123 | struct cfg80211_sched_scan_request *sched_scan_req; | ||
1120 | 1124 | ||
1121 | unsigned long leave_oper_channel_time; | 1125 | unsigned long leave_oper_channel_time; |
1122 | enum mac80211_scan_state next_scan_state; | 1126 | enum mac80211_scan_state next_scan_state; |
@@ -1425,6 +1429,9 @@ void ieee80211_rx_bss_put(struct ieee80211_local *local, | |||
1425 | struct ieee80211_bss *bss); | 1429 | struct ieee80211_bss *bss); |
1426 | 1430 | ||
1427 | /* scheduled scan handling */ | 1431 | /* scheduled scan handling */ |
1432 | int | ||
1433 | __ieee80211_request_sched_scan_start(struct ieee80211_sub_if_data *sdata, | ||
1434 | struct cfg80211_sched_scan_request *req); | ||
1428 | int ieee80211_request_sched_scan_start(struct ieee80211_sub_if_data *sdata, | 1435 | int ieee80211_request_sched_scan_start(struct ieee80211_sub_if_data *sdata, |
1429 | struct cfg80211_sched_scan_request *req); | 1436 | struct cfg80211_sched_scan_request *req); |
1430 | int ieee80211_request_sched_scan_stop(struct ieee80211_sub_if_data *sdata); | 1437 | int ieee80211_request_sched_scan_stop(struct ieee80211_sub_if_data *sdata); |
@@ -1443,6 +1450,8 @@ void ieee80211_handle_roc_started(struct ieee80211_roc_work *roc); | |||
1443 | 1450 | ||
1444 | /* channel switch handling */ | 1451 | /* channel switch handling */ |
1445 | void ieee80211_csa_finalize_work(struct work_struct *work); | 1452 | void ieee80211_csa_finalize_work(struct work_struct *work); |
1453 | int ieee80211_channel_switch(struct wiphy *wiphy, struct net_device *dev, | ||
1454 | struct cfg80211_csa_settings *params); | ||
1446 | 1455 | ||
1447 | /* interface handling */ | 1456 | /* interface handling */ |
1448 | int ieee80211_iface_init(void); | 1457 | int ieee80211_iface_init(void); |
@@ -1465,8 +1474,6 @@ void ieee80211_del_virtual_monitor(struct ieee80211_local *local); | |||
1465 | 1474 | ||
1466 | bool __ieee80211_recalc_txpower(struct ieee80211_sub_if_data *sdata); | 1475 | bool __ieee80211_recalc_txpower(struct ieee80211_sub_if_data *sdata); |
1467 | void ieee80211_recalc_txpower(struct ieee80211_sub_if_data *sdata); | 1476 | void ieee80211_recalc_txpower(struct ieee80211_sub_if_data *sdata); |
1468 | int ieee80211_assign_beacon(struct ieee80211_sub_if_data *sdata, | ||
1469 | struct cfg80211_beacon_data *params); | ||
1470 | 1477 | ||
1471 | static inline bool ieee80211_sdata_running(struct ieee80211_sub_if_data *sdata) | 1478 | static inline bool ieee80211_sdata_running(struct ieee80211_sub_if_data *sdata) |
1472 | { | 1479 | { |