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.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c
index 4839a2d97a3b..090aa5a47182 100644
--- a/net/mac80211/iface.c
+++ b/net/mac80211/iface.c
@@ -449,16 +449,18 @@ static int ieee80211_stop(struct net_device *dev)
449 case NL80211_IFTYPE_STATION: 449 case NL80211_IFTYPE_STATION:
450 del_timer_sync(&sdata->u.mgd.chswitch_timer); 450 del_timer_sync(&sdata->u.mgd.chswitch_timer);
451 del_timer_sync(&sdata->u.mgd.timer); 451 del_timer_sync(&sdata->u.mgd.timer);
452 del_timer_sync(&sdata->u.mgd.conn_mon_timer);
453 del_timer_sync(&sdata->u.mgd.bcn_mon_timer);
452 /* 454 /*
453 * If the timer fired while we waited for it, it will have 455 * If any of the timers fired while we waited for it, it will
454 * requeued the work. Now the work will be running again 456 * have queued its work. Now the work will be running again
455 * but will not rearm the timer again because it checks 457 * but will not rearm the timer again because it checks
456 * whether the interface is running, which, at this point, 458 * whether the interface is running, which, at this point,
457 * it no longer is. 459 * it no longer is.
458 */ 460 */
459 cancel_work_sync(&sdata->u.mgd.work); 461 cancel_work_sync(&sdata->u.mgd.work);
460 cancel_work_sync(&sdata->u.mgd.chswitch_work); 462 cancel_work_sync(&sdata->u.mgd.chswitch_work);
461 463 cancel_work_sync(&sdata->u.mgd.monitor_work);
462 cancel_work_sync(&sdata->u.mgd.beacon_loss_work); 464 cancel_work_sync(&sdata->u.mgd.beacon_loss_work);
463 465
464 /* 466 /*