diff options
Diffstat (limited to 'net/mac80211/iface.c')
-rw-r--r-- | net/mac80211/iface.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c index f9f27b9cadbe..91e8e1bacaaa 100644 --- a/net/mac80211/iface.c +++ b/net/mac80211/iface.c | |||
@@ -261,8 +261,7 @@ static int ieee80211_open(struct net_device *dev) | |||
261 | ieee80211_bss_info_change_notify(sdata, changed); | 261 | ieee80211_bss_info_change_notify(sdata, changed); |
262 | ieee80211_enable_keys(sdata); | 262 | ieee80211_enable_keys(sdata); |
263 | 263 | ||
264 | if (sdata->vif.type == NL80211_IFTYPE_STATION && | 264 | if (sdata->vif.type == NL80211_IFTYPE_STATION) |
265 | !(sdata->flags & IEEE80211_SDATA_USERSPACE_MLME)) | ||
266 | netif_carrier_off(dev); | 265 | netif_carrier_off(dev); |
267 | else | 266 | else |
268 | netif_carrier_on(dev); | 267 | netif_carrier_on(dev); |
@@ -478,6 +477,9 @@ static int ieee80211_stop(struct net_device *dev) | |||
478 | */ | 477 | */ |
479 | cancel_work_sync(&sdata->u.mgd.work); | 478 | cancel_work_sync(&sdata->u.mgd.work); |
480 | cancel_work_sync(&sdata->u.mgd.chswitch_work); | 479 | cancel_work_sync(&sdata->u.mgd.chswitch_work); |
480 | |||
481 | cancel_work_sync(&sdata->u.mgd.beacon_loss_work); | ||
482 | |||
481 | /* | 483 | /* |
482 | * When we get here, the interface is marked down. | 484 | * When we get here, the interface is marked down. |
483 | * Call synchronize_rcu() to wait for the RX path | 485 | * Call synchronize_rcu() to wait for the RX path |
@@ -653,13 +655,7 @@ static void ieee80211_teardown_sdata(struct net_device *dev) | |||
653 | kfree(sdata->u.mgd.extra_ie); | 655 | kfree(sdata->u.mgd.extra_ie); |
654 | kfree(sdata->u.mgd.assocreq_ies); | 656 | kfree(sdata->u.mgd.assocreq_ies); |
655 | kfree(sdata->u.mgd.assocresp_ies); | 657 | kfree(sdata->u.mgd.assocresp_ies); |
656 | kfree(sdata->u.mgd.ie_probereq); | 658 | kfree(sdata->u.mgd.sme_auth_ie); |
657 | kfree(sdata->u.mgd.ie_proberesp); | ||
658 | kfree(sdata->u.mgd.ie_auth); | ||
659 | kfree(sdata->u.mgd.ie_assocreq); | ||
660 | kfree(sdata->u.mgd.ie_reassocreq); | ||
661 | kfree(sdata->u.mgd.ie_deauth); | ||
662 | kfree(sdata->u.mgd.ie_disassoc); | ||
663 | break; | 659 | break; |
664 | case NL80211_IFTYPE_WDS: | 660 | case NL80211_IFTYPE_WDS: |
665 | case NL80211_IFTYPE_AP_VLAN: | 661 | case NL80211_IFTYPE_AP_VLAN: |