aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/main.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2008-05-06 10:49:20 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2008-05-06 10:49:20 -0400
commit4880d10927c93d858d40e297361fff375ee98492 (patch)
tree05568234832389c4a357281da3a4f047841b59d4 /net/mac80211/main.c
parenta15306365a16380f3bafee9e181ba01231d4acd7 (diff)
parent9d1045ad68fcccfaf1393cc463ab6357693e8d1d (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: net_cls_act: act_simple dont ignore realloc code iwlwifi: make IWLWIFI a tristate Revert "atm: Do not free already unregistered net device." dccp: return -EINVAL on invalid feature length irda: fix !PNP support for drivers/net/irda/smsc-ircc2.c irda: fix !PNP support in drivers/net/irda/nsc-ircc.c net_cls_act: Make act_simple use of netlink policy. ip: Use inline function dst_metric() instead of direct access to dst->metric[] ip: Make use of the inline function dst_metric_locked() atm: Bad locking on br2684_devs modifications. atm: Do not free already unregistered net device. mac80211: Do not free net device after it is unregistered. bridge: Consolidate error paths in br_add_bridge(). bridge: Net device leak in br_add_bridge(). niu: Fix probing regression for maramba on-board chips. lapbeth: Release ->ethdev when unregistering device. xfrm: convert empty xfrm_audit_* macros to functions net: Fix useless comment reference loop. sch_htb: remove from event queue in htb_parent_to_leaf()
Diffstat (limited to 'net/mac80211/main.c')
-rw-r--r--net/mac80211/main.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/net/mac80211/main.c b/net/mac80211/main.c
index 9ad4e3631b6b..915afadb0602 100644
--- a/net/mac80211/main.c
+++ b/net/mac80211/main.c
@@ -1766,6 +1766,7 @@ fail_wep:
1766fail_rate: 1766fail_rate:
1767 ieee80211_debugfs_remove_netdev(IEEE80211_DEV_TO_SUB_IF(local->mdev)); 1767 ieee80211_debugfs_remove_netdev(IEEE80211_DEV_TO_SUB_IF(local->mdev));
1768 unregister_netdevice(local->mdev); 1768 unregister_netdevice(local->mdev);
1769 local->mdev = NULL;
1769fail_dev: 1770fail_dev:
1770 rtnl_unlock(); 1771 rtnl_unlock();
1771 sta_info_stop(local); 1772 sta_info_stop(local);
@@ -1773,8 +1774,10 @@ fail_sta_info:
1773 debugfs_hw_del(local); 1774 debugfs_hw_del(local);
1774 destroy_workqueue(local->hw.workqueue); 1775 destroy_workqueue(local->hw.workqueue);
1775fail_workqueue: 1776fail_workqueue:
1776 ieee80211_if_free(local->mdev); 1777 if (local->mdev != NULL) {
1777 local->mdev = NULL; 1778 ieee80211_if_free(local->mdev);
1779 local->mdev = NULL;
1780 }
1778fail_mdev_alloc: 1781fail_mdev_alloc:
1779 wiphy_unregister(local->hw.wiphy); 1782 wiphy_unregister(local->hw.wiphy);
1780 return result; 1783 return result;