diff options
Diffstat (limited to 'net/mac80211/iface.c')
-rw-r--r-- | net/mac80211/iface.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c index ba86978dd561..3e05a8bfddf0 100644 --- a/net/mac80211/iface.c +++ b/net/mac80211/iface.c | |||
@@ -606,6 +606,8 @@ static void ieee80211_do_stop(struct ieee80211_sub_if_data *sdata, | |||
606 | /* free all potentially still buffered bcast frames */ | 606 | /* free all potentially still buffered bcast frames */ |
607 | local->total_ps_buffered -= skb_queue_len(&sdata->u.ap.ps_bc_buf); | 607 | local->total_ps_buffered -= skb_queue_len(&sdata->u.ap.ps_bc_buf); |
608 | skb_queue_purge(&sdata->u.ap.ps_bc_buf); | 608 | skb_queue_purge(&sdata->u.ap.ps_bc_buf); |
609 | } else if (sdata->vif.type == NL80211_IFTYPE_STATION) { | ||
610 | ieee80211_mgd_stop(sdata); | ||
609 | } | 611 | } |
610 | 612 | ||
611 | if (going_down) | 613 | if (going_down) |
@@ -768,8 +770,6 @@ static void ieee80211_teardown_sdata(struct net_device *dev) | |||
768 | 770 | ||
769 | if (ieee80211_vif_is_mesh(&sdata->vif)) | 771 | if (ieee80211_vif_is_mesh(&sdata->vif)) |
770 | mesh_rmc_free(sdata); | 772 | mesh_rmc_free(sdata); |
771 | else if (sdata->vif.type == NL80211_IFTYPE_STATION) | ||
772 | ieee80211_mgd_teardown(sdata); | ||
773 | 773 | ||
774 | flushed = sta_info_flush(local, sdata); | 774 | flushed = sta_info_flush(local, sdata); |
775 | WARN_ON(flushed); | 775 | WARN_ON(flushed); |