aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/mac80211/main.c')
-rw-r--r--net/mac80211/main.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/net/mac80211/main.c b/net/mac80211/main.c
index 522fe6176485..ebdec7106d63 100644
--- a/net/mac80211/main.c
+++ b/net/mac80211/main.c
@@ -548,6 +548,14 @@ static int ieee80211_stop(struct net_device *dev)
548 memset(sdata->u.sta.bssid, 0, ETH_ALEN); 548 memset(sdata->u.sta.bssid, 0, ETH_ALEN);
549 del_timer_sync(&sdata->u.sta.timer); 549 del_timer_sync(&sdata->u.sta.timer);
550 /* 550 /*
551 * If the timer fired while we waited for it, it will have
552 * requeued the work. Now the work will be running again
553 * but will not rearm the timer again because it checks
554 * whether the interface is running, which, at this point,
555 * it no longer is.
556 */
557 cancel_work_sync(&sdata->u.sta.work);
558 /*
551 * When we get here, the interface is marked down. 559 * When we get here, the interface is marked down.
552 * Call synchronize_rcu() to wait for the RX path 560 * Call synchronize_rcu() to wait for the RX path
553 * should it be using the interface and enqueuing 561 * should it be using the interface and enqueuing