diff options
Diffstat (limited to 'net/mac80211/main.c')
-rw-r--r-- | net/mac80211/main.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/net/mac80211/main.c b/net/mac80211/main.c index 55e76117da9e..eb347eca30b5 100644 --- a/net/mac80211/main.c +++ b/net/mac80211/main.c | |||
@@ -1771,6 +1771,7 @@ fail_wep: | |||
1771 | fail_rate: | 1771 | fail_rate: |
1772 | ieee80211_debugfs_remove_netdev(IEEE80211_DEV_TO_SUB_IF(local->mdev)); | 1772 | ieee80211_debugfs_remove_netdev(IEEE80211_DEV_TO_SUB_IF(local->mdev)); |
1773 | unregister_netdevice(local->mdev); | 1773 | unregister_netdevice(local->mdev); |
1774 | local->mdev = NULL; | ||
1774 | fail_dev: | 1775 | fail_dev: |
1775 | rtnl_unlock(); | 1776 | rtnl_unlock(); |
1776 | sta_info_stop(local); | 1777 | sta_info_stop(local); |
@@ -1778,8 +1779,10 @@ fail_sta_info: | |||
1778 | debugfs_hw_del(local); | 1779 | debugfs_hw_del(local); |
1779 | destroy_workqueue(local->hw.workqueue); | 1780 | destroy_workqueue(local->hw.workqueue); |
1780 | fail_workqueue: | 1781 | fail_workqueue: |
1781 | ieee80211_if_free(local->mdev); | 1782 | if (local->mdev != NULL) { |
1782 | local->mdev = NULL; | 1783 | ieee80211_if_free(local->mdev); |
1784 | local->mdev = NULL; | ||
1785 | } | ||
1783 | fail_mdev_alloc: | 1786 | fail_mdev_alloc: |
1784 | wiphy_unregister(local->hw.wiphy); | 1787 | wiphy_unregister(local->hw.wiphy); |
1785 | return result; | 1788 | return result; |