diff options
Diffstat (limited to 'net/mac80211/offchannel.c')
-rw-r--r-- | net/mac80211/offchannel.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/net/mac80211/offchannel.c b/net/mac80211/offchannel.c index 83608ac16780..c349f3aaf59e 100644 --- a/net/mac80211/offchannel.c +++ b/net/mac80211/offchannel.c | |||
@@ -107,6 +107,9 @@ void ieee80211_offchannel_stop_vifs(struct ieee80211_local *local, | |||
107 | { | 107 | { |
108 | struct ieee80211_sub_if_data *sdata; | 108 | struct ieee80211_sub_if_data *sdata; |
109 | 109 | ||
110 | if (WARN_ON(local->use_chanctx)) | ||
111 | return; | ||
112 | |||
110 | /* | 113 | /* |
111 | * notify the AP about us leaving the channel and stop all | 114 | * notify the AP about us leaving the channel and stop all |
112 | * STA interfaces. | 115 | * STA interfaces. |
@@ -145,6 +148,9 @@ void ieee80211_offchannel_return(struct ieee80211_local *local, | |||
145 | { | 148 | { |
146 | struct ieee80211_sub_if_data *sdata; | 149 | struct ieee80211_sub_if_data *sdata; |
147 | 150 | ||
151 | if (WARN_ON(local->use_chanctx)) | ||
152 | return; | ||
153 | |||
148 | mutex_lock(&local->iflist_mtx); | 154 | mutex_lock(&local->iflist_mtx); |
149 | list_for_each_entry(sdata, &local->interfaces, list) { | 155 | list_for_each_entry(sdata, &local->interfaces, list) { |
150 | if (sdata->vif.type == NL80211_IFTYPE_P2P_DEVICE) | 156 | if (sdata->vif.type == NL80211_IFTYPE_P2P_DEVICE) |
@@ -193,7 +199,8 @@ void ieee80211_handle_roc_started(struct ieee80211_roc_work *roc) | |||
193 | 199 | ||
194 | if (roc->mgmt_tx_cookie) { | 200 | if (roc->mgmt_tx_cookie) { |
195 | if (!WARN_ON(!roc->frame)) { | 201 | if (!WARN_ON(!roc->frame)) { |
196 | ieee80211_tx_skb(roc->sdata, roc->frame); | 202 | ieee80211_tx_skb_tid_band(roc->sdata, roc->frame, 7, |
203 | roc->chan->band); | ||
197 | roc->frame = NULL; | 204 | roc->frame = NULL; |
198 | } | 205 | } |
199 | } else { | 206 | } else { |