mac80211: fix debugfs default key links
[deliverable/linux.git] / net / mac80211 / debugfs_key.c
index 7932767bb482415f9b50ec0043c0c56246476f04..090d08ff22c4b753972959c520e87254feb4281d 100644 (file)
@@ -283,6 +283,11 @@ void ieee80211_debugfs_key_update_default(struct ieee80211_sub_if_data *sdata)
 
        lockdep_assert_held(&sdata->local->key_mtx);
 
+       if (sdata->debugfs.default_unicast_key) {
+               debugfs_remove(sdata->debugfs.default_unicast_key);
+               sdata->debugfs.default_unicast_key = NULL;
+       }
+
        if (sdata->default_unicast_key) {
                key = key_mtx_dereference(sdata->local,
                                          sdata->default_unicast_key);
@@ -290,9 +295,11 @@ void ieee80211_debugfs_key_update_default(struct ieee80211_sub_if_data *sdata)
                sdata->debugfs.default_unicast_key =
                        debugfs_create_symlink("default_unicast_key",
                                               sdata->debugfs.dir, buf);
-       } else {
-               debugfs_remove(sdata->debugfs.default_unicast_key);
-               sdata->debugfs.default_unicast_key = NULL;
+       }
+
+       if (sdata->debugfs.default_multicast_key) {
+               debugfs_remove(sdata->debugfs.default_multicast_key);
+               sdata->debugfs.default_multicast_key = NULL;
        }
 
        if (sdata->default_multicast_key) {
@@ -302,9 +309,6 @@ void ieee80211_debugfs_key_update_default(struct ieee80211_sub_if_data *sdata)
                sdata->debugfs.default_multicast_key =
                        debugfs_create_symlink("default_multicast_key",
                                               sdata->debugfs.dir, buf);
-       } else {
-               debugfs_remove(sdata->debugfs.default_multicast_key);
-               sdata->debugfs.default_multicast_key = NULL;
        }
 }
 
This page took 0.026883 seconds and 5 git commands to generate.