summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Hughes <tom@compton.nu>2015-06-29 19:41:49 +0100
committerJiri Slaby <jslaby@suse.cz>2015-08-19 08:36:36 +0200
commit0045487d757bee35e949dc3d376e7291b9f0ee1f (patch)
tree8ab899eb755a0b06b8adcd98be173dacb3d275b9
parentf603c11c7dba4dfd388312c8c94757a90483a17d (diff)
downloadlwn-0045487d757bee35e949dc3d376e7291b9f0ee1f.tar.gz
lwn-0045487d757bee35e949dc3d376e7291b9f0ee1f.zip
mac80211: clear subdir_stations when removing debugfs
commit 4479004e6409087d1b4986881dc98c6c15dffb28 upstream. If we don't do this, and we then fail to recreate the debugfs directory during a mode change, then we will fail later trying to add stations to this now bogus directory: BUG: unable to handle kernel NULL pointer dereference at 0000006c IP: [<c0a92202>] mutex_lock+0x12/0x30 Call Trace: [<c0678ab4>] start_creating+0x44/0xc0 [<c0679203>] debugfs_create_dir+0x13/0xf0 [<f8a938ae>] ieee80211_sta_debugfs_add+0x6e/0x490 [mac80211] Signed-off-by: Tom Hughes <tom@compton.nu> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Jiri Slaby <jslaby@suse.cz>
-rw-r--r--net/mac80211/debugfs_netdev.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/mac80211/debugfs_netdev.c b/net/mac80211/debugfs_netdev.c
index 8e41f0163c5a..92be2863b7db 100644
--- a/net/mac80211/debugfs_netdev.c
+++ b/net/mac80211/debugfs_netdev.c
@@ -698,6 +698,7 @@ void ieee80211_debugfs_remove_netdev(struct ieee80211_sub_if_data *sdata)
debugfs_remove_recursive(sdata->vif.debugfs_dir);
sdata->vif.debugfs_dir = NULL;
+ sdata->debugfs.subdir_stations = NULL;
}
void ieee80211_debugfs_rename_netdev(struct ieee80211_sub_if_data *sdata)