summaryrefslogtreecommitdiffstats
path: root/net/mac80211
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2017-06-09 21:33:09 +0200
committerDavid S. Miller <davem@davemloft.net>2017-06-09 21:40:15 +0200
commitc7a61cba71fd151cc7d9ebe53a090e0e61eeebf3 (patch)
tree3b8b1365c8ca48422d4fa366838c799d3880b55a /net/mac80211
parentnet: rps: send out pending IPI's on CPU hotplug (diff)
downloadlinux-c7a61cba71fd151cc7d9ebe53a090e0e61eeebf3.tar.xz
linux-c7a61cba71fd151cc7d9ebe53a090e0e61eeebf3.zip
mac80211: free netdev on dev_alloc_name() error
The change to remove free_netdev() from ieee80211_if_free() erroneously didn't add the necessary free_netdev() for when ieee80211_if_free() is called directly in one place, rather than as the priv_destructor. Add the missing call. Fixes: cf124db566e6 ("net: Fix inconsistent teardown and release of private netdev state.") Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/mac80211')
-rw-r--r--net/mac80211/iface.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c
index 915d7e1b4545..f5f50150ba1c 100644
--- a/net/mac80211/iface.c
+++ b/net/mac80211/iface.c
@@ -1816,6 +1816,7 @@ int ieee80211_if_add(struct ieee80211_local *local, const char *name,
ret = dev_alloc_name(ndev, ndev->name);
if (ret < 0) {
ieee80211_if_free(ndev);
+ free_netdev(ndev);
return ret;
}