diff options
Diffstat (limited to 'net/wireless/core.c')
-rw-r--r-- | net/wireless/core.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/net/wireless/core.c b/net/wireless/core.c index 71b6b3a9cf1f..51908dc2ea00 100644 --- a/net/wireless/core.c +++ b/net/wireless/core.c | |||
@@ -677,6 +677,9 @@ static int cfg80211_netdev_notifier_call(struct notifier_block * nb, | |||
677 | INIT_WORK(&wdev->cleanup_work, wdev_cleanup_work); | 677 | INIT_WORK(&wdev->cleanup_work, wdev_cleanup_work); |
678 | INIT_LIST_HEAD(&wdev->event_list); | 678 | INIT_LIST_HEAD(&wdev->event_list); |
679 | spin_lock_init(&wdev->event_lock); | 679 | spin_lock_init(&wdev->event_lock); |
680 | INIT_LIST_HEAD(&wdev->action_registrations); | ||
681 | spin_lock_init(&wdev->action_registrations_lock); | ||
682 | |||
680 | mutex_lock(&rdev->devlist_mtx); | 683 | mutex_lock(&rdev->devlist_mtx); |
681 | list_add_rcu(&wdev->list, &rdev->netdev_list); | 684 | list_add_rcu(&wdev->list, &rdev->netdev_list); |
682 | rdev->devlist_generation++; | 685 | rdev->devlist_generation++; |
@@ -792,6 +795,7 @@ static int cfg80211_netdev_notifier_call(struct notifier_block * nb, | |||
792 | sysfs_remove_link(&dev->dev.kobj, "phy80211"); | 795 | sysfs_remove_link(&dev->dev.kobj, "phy80211"); |
793 | list_del_rcu(&wdev->list); | 796 | list_del_rcu(&wdev->list); |
794 | rdev->devlist_generation++; | 797 | rdev->devlist_generation++; |
798 | cfg80211_mlme_purge_actions(wdev); | ||
795 | #ifdef CONFIG_CFG80211_WEXT | 799 | #ifdef CONFIG_CFG80211_WEXT |
796 | kfree(wdev->wext.keys); | 800 | kfree(wdev->wext.keys); |
797 | #endif | 801 | #endif |