diff options
Diffstat (limited to 'net/mac80211/ieee80211_i.h')
-rw-r--r-- | net/mac80211/ieee80211_i.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h index d779383c52d2..e94c84050e9c 100644 --- a/net/mac80211/ieee80211_i.h +++ b/net/mac80211/ieee80211_i.h | |||
@@ -259,6 +259,8 @@ struct ieee80211_if_ap { | |||
259 | struct beacon_data __rcu *beacon; | 259 | struct beacon_data __rcu *beacon; |
260 | struct probe_resp __rcu *probe_resp; | 260 | struct probe_resp __rcu *probe_resp; |
261 | 261 | ||
262 | /* to be used after channel switch. */ | ||
263 | struct cfg80211_beacon_data *next_beacon; | ||
262 | struct list_head vlans; | 264 | struct list_head vlans; |
263 | 265 | ||
264 | struct ps_data ps; | 266 | struct ps_data ps; |
@@ -716,6 +718,11 @@ struct ieee80211_sub_if_data { | |||
716 | 718 | ||
717 | struct ieee80211_tx_queue_params tx_conf[IEEE80211_NUM_ACS]; | 719 | struct ieee80211_tx_queue_params tx_conf[IEEE80211_NUM_ACS]; |
718 | 720 | ||
721 | struct work_struct csa_finalize_work; | ||
722 | int csa_counter_offset_beacon; | ||
723 | int csa_counter_offset_presp; | ||
724 | bool csa_radar_required; | ||
725 | |||
719 | /* used to reconfigure hardware SM PS */ | 726 | /* used to reconfigure hardware SM PS */ |
720 | struct work_struct recalc_smps; | 727 | struct work_struct recalc_smps; |
721 | 728 | ||
@@ -1372,6 +1379,9 @@ void ieee80211_roc_notify_destroy(struct ieee80211_roc_work *roc, bool free); | |||
1372 | void ieee80211_sw_roc_work(struct work_struct *work); | 1379 | void ieee80211_sw_roc_work(struct work_struct *work); |
1373 | void ieee80211_handle_roc_started(struct ieee80211_roc_work *roc); | 1380 | void ieee80211_handle_roc_started(struct ieee80211_roc_work *roc); |
1374 | 1381 | ||
1382 | /* channel switch handling */ | ||
1383 | void ieee80211_csa_finalize_work(struct work_struct *work); | ||
1384 | |||
1375 | /* interface handling */ | 1385 | /* interface handling */ |
1376 | int ieee80211_iface_init(void); | 1386 | int ieee80211_iface_init(void); |
1377 | void ieee80211_iface_exit(void); | 1387 | void ieee80211_iface_exit(void); |
@@ -1393,6 +1403,8 @@ void ieee80211_del_virtual_monitor(struct ieee80211_local *local); | |||
1393 | 1403 | ||
1394 | bool __ieee80211_recalc_txpower(struct ieee80211_sub_if_data *sdata); | 1404 | bool __ieee80211_recalc_txpower(struct ieee80211_sub_if_data *sdata); |
1395 | void ieee80211_recalc_txpower(struct ieee80211_sub_if_data *sdata); | 1405 | void ieee80211_recalc_txpower(struct ieee80211_sub_if_data *sdata); |
1406 | int ieee80211_assign_beacon(struct ieee80211_sub_if_data *sdata, | ||
1407 | struct cfg80211_beacon_data *params); | ||
1396 | 1408 | ||
1397 | static inline bool ieee80211_sdata_running(struct ieee80211_sub_if_data *sdata) | 1409 | static inline bool ieee80211_sdata_running(struct ieee80211_sub_if_data *sdata) |
1398 | { | 1410 | { |
@@ -1654,6 +1666,11 @@ int __must_check | |||
1654 | ieee80211_vif_change_bandwidth(struct ieee80211_sub_if_data *sdata, | 1666 | ieee80211_vif_change_bandwidth(struct ieee80211_sub_if_data *sdata, |
1655 | const struct cfg80211_chan_def *chandef, | 1667 | const struct cfg80211_chan_def *chandef, |
1656 | u32 *changed); | 1668 | u32 *changed); |
1669 | /* NOTE: only use ieee80211_vif_change_channel() for channel switch */ | ||
1670 | int __must_check | ||
1671 | ieee80211_vif_change_channel(struct ieee80211_sub_if_data *sdata, | ||
1672 | const struct cfg80211_chan_def *chandef, | ||
1673 | u32 *changed); | ||
1657 | void ieee80211_vif_release_channel(struct ieee80211_sub_if_data *sdata); | 1674 | void ieee80211_vif_release_channel(struct ieee80211_sub_if_data *sdata); |
1658 | void ieee80211_vif_vlan_copy_chanctx(struct ieee80211_sub_if_data *sdata); | 1675 | void ieee80211_vif_vlan_copy_chanctx(struct ieee80211_sub_if_data *sdata); |
1659 | void ieee80211_vif_copy_chanctx_to_vlans(struct ieee80211_sub_if_data *sdata, | 1676 | void ieee80211_vif_copy_chanctx_to_vlans(struct ieee80211_sub_if_data *sdata, |