diff options
Diffstat (limited to 'net/mac80211/offchannel.c')
-rw-r--r-- | net/mac80211/offchannel.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/net/mac80211/offchannel.c b/net/mac80211/offchannel.c index c349f3aaf59e..5abddfe3e101 100644 --- a/net/mac80211/offchannel.c +++ b/net/mac80211/offchannel.c | |||
@@ -204,9 +204,9 @@ void ieee80211_handle_roc_started(struct ieee80211_roc_work *roc) | |||
204 | roc->frame = NULL; | 204 | roc->frame = NULL; |
205 | } | 205 | } |
206 | } else { | 206 | } else { |
207 | cfg80211_ready_on_channel(&roc->sdata->wdev, (unsigned long)roc, | 207 | cfg80211_ready_on_channel(&roc->sdata->wdev, roc->cookie, |
208 | roc->chan, roc->chan_type, | 208 | roc->chan, roc->req_duration, |
209 | roc->req_duration, GFP_KERNEL); | 209 | GFP_KERNEL); |
210 | } | 210 | } |
211 | 211 | ||
212 | roc->notified = true; | 212 | roc->notified = true; |
@@ -283,8 +283,7 @@ void ieee80211_start_next_roc(struct ieee80211_local *local) | |||
283 | if (!duration) | 283 | if (!duration) |
284 | duration = 10; | 284 | duration = 10; |
285 | 285 | ||
286 | ret = drv_remain_on_channel(local, roc->chan, | 286 | ret = drv_remain_on_channel(local, roc->sdata, roc->chan, |
287 | roc->chan_type, | ||
288 | duration); | 287 | duration); |
289 | 288 | ||
290 | roc->started = true; | 289 | roc->started = true; |
@@ -320,8 +319,7 @@ void ieee80211_roc_notify_destroy(struct ieee80211_roc_work *roc) | |||
320 | 319 | ||
321 | if (!roc->mgmt_tx_cookie) | 320 | if (!roc->mgmt_tx_cookie) |
322 | cfg80211_remain_on_channel_expired(&roc->sdata->wdev, | 321 | cfg80211_remain_on_channel_expired(&roc->sdata->wdev, |
323 | (unsigned long)roc, | 322 | roc->cookie, roc->chan, |
324 | roc->chan, roc->chan_type, | ||
325 | GFP_KERNEL); | 323 | GFP_KERNEL); |
326 | 324 | ||
327 | list_for_each_entry_safe(dep, tmp, &roc->dependents, list) | 325 | list_for_each_entry_safe(dep, tmp, &roc->dependents, list) |
@@ -360,7 +358,6 @@ void ieee80211_sw_roc_work(struct work_struct *work) | |||
360 | ieee80211_recalc_idle(local); | 358 | ieee80211_recalc_idle(local); |
361 | 359 | ||
362 | local->tmp_channel = roc->chan; | 360 | local->tmp_channel = roc->chan; |
363 | local->tmp_channel_type = roc->chan_type; | ||
364 | ieee80211_hw_config(local, 0); | 361 | ieee80211_hw_config(local, 0); |
365 | 362 | ||
366 | /* tell userspace or send frame */ | 363 | /* tell userspace or send frame */ |