aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/ieee80211_i.h
diff options
context:
space:
mode:
Diffstat (limited to 'net/mac80211/ieee80211_i.h')
-rw-r--r--net/mac80211/ieee80211_i.h17
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);
1372void ieee80211_sw_roc_work(struct work_struct *work); 1379void ieee80211_sw_roc_work(struct work_struct *work);
1373void ieee80211_handle_roc_started(struct ieee80211_roc_work *roc); 1380void ieee80211_handle_roc_started(struct ieee80211_roc_work *roc);
1374 1381
1382/* channel switch handling */
1383void ieee80211_csa_finalize_work(struct work_struct *work);
1384
1375/* interface handling */ 1385/* interface handling */
1376int ieee80211_iface_init(void); 1386int ieee80211_iface_init(void);
1377void ieee80211_iface_exit(void); 1387void ieee80211_iface_exit(void);
@@ -1393,6 +1403,8 @@ void ieee80211_del_virtual_monitor(struct ieee80211_local *local);
1393 1403
1394bool __ieee80211_recalc_txpower(struct ieee80211_sub_if_data *sdata); 1404bool __ieee80211_recalc_txpower(struct ieee80211_sub_if_data *sdata);
1395void ieee80211_recalc_txpower(struct ieee80211_sub_if_data *sdata); 1405void ieee80211_recalc_txpower(struct ieee80211_sub_if_data *sdata);
1406int ieee80211_assign_beacon(struct ieee80211_sub_if_data *sdata,
1407 struct cfg80211_beacon_data *params);
1396 1408
1397static inline bool ieee80211_sdata_running(struct ieee80211_sub_if_data *sdata) 1409static inline bool ieee80211_sdata_running(struct ieee80211_sub_if_data *sdata)
1398{ 1410{
@@ -1654,6 +1666,11 @@ int __must_check
1654ieee80211_vif_change_bandwidth(struct ieee80211_sub_if_data *sdata, 1666ieee80211_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 */
1670int __must_check
1671ieee80211_vif_change_channel(struct ieee80211_sub_if_data *sdata,
1672 const struct cfg80211_chan_def *chandef,
1673 u32 *changed);
1657void ieee80211_vif_release_channel(struct ieee80211_sub_if_data *sdata); 1674void ieee80211_vif_release_channel(struct ieee80211_sub_if_data *sdata);
1658void ieee80211_vif_vlan_copy_chanctx(struct ieee80211_sub_if_data *sdata); 1675void ieee80211_vif_vlan_copy_chanctx(struct ieee80211_sub_if_data *sdata);
1659void ieee80211_vif_copy_chanctx_to_vlans(struct ieee80211_sub_if_data *sdata, 1676void ieee80211_vif_copy_chanctx_to_vlans(struct ieee80211_sub_if_data *sdata,