aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/iface.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/mac80211/iface.c')
-rw-r--r--net/mac80211/iface.c6
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