diff options
Diffstat (limited to 'net/mac80211/iface.c')
-rw-r--r-- | net/mac80211/iface.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c index 56167a3d872d..de7ddc303a5f 100644 --- a/net/mac80211/iface.c +++ b/net/mac80211/iface.c | |||
@@ -460,17 +460,14 @@ static int ieee80211_stop(struct net_device *dev) | |||
460 | * whether the interface is running, which, at this point, | 460 | * whether the interface is running, which, at this point, |
461 | * it no longer is. | 461 | * it no longer is. |
462 | */ | 462 | */ |
463 | cancel_work_sync(&sdata->u.mgd.work); | ||
464 | cancel_work_sync(&sdata->u.mgd.chswitch_work); | 463 | cancel_work_sync(&sdata->u.mgd.chswitch_work); |
465 | cancel_work_sync(&sdata->u.mgd.monitor_work); | 464 | cancel_work_sync(&sdata->u.mgd.monitor_work); |
466 | cancel_work_sync(&sdata->u.mgd.beacon_connection_loss_work); | 465 | cancel_work_sync(&sdata->u.mgd.beacon_connection_loss_work); |
467 | 466 | ||
468 | /* fall through */ | 467 | /* fall through */ |
469 | case NL80211_IFTYPE_ADHOC: | 468 | case NL80211_IFTYPE_ADHOC: |
470 | if (sdata->vif.type == NL80211_IFTYPE_ADHOC) { | 469 | if (sdata->vif.type == NL80211_IFTYPE_ADHOC) |
471 | del_timer_sync(&sdata->u.ibss.timer); | 470 | del_timer_sync(&sdata->u.ibss.timer); |
472 | cancel_work_sync(&sdata->u.ibss.work); | ||
473 | } | ||
474 | /* fall through */ | 471 | /* fall through */ |
475 | case NL80211_IFTYPE_MESH_POINT: | 472 | case NL80211_IFTYPE_MESH_POINT: |
476 | if (ieee80211_vif_is_mesh(&sdata->vif)) { | 473 | if (ieee80211_vif_is_mesh(&sdata->vif)) { |
@@ -485,6 +482,7 @@ static int ieee80211_stop(struct net_device *dev) | |||
485 | } | 482 | } |
486 | /* fall through */ | 483 | /* fall through */ |
487 | default: | 484 | default: |
485 | cancel_work_sync(&sdata->work); | ||
488 | /* | 486 | /* |
489 | * When we get here, the interface is marked down. | 487 | * When we get here, the interface is marked down. |
490 | * Call synchronize_rcu() to wait for the RX path | 488 | * Call synchronize_rcu() to wait for the RX path |