diff options
| author | Alexander Wetzel <Alexander@wetzel-home.de> | 2025-02-04 17:42:40 +0100 |
|---|---|---|
| committer | Johannes Berg <johannes.berg@intel.com> | 2025-02-11 12:40:27 +0100 |
| commit | 646262c71aca87bb66945933abe4e620796d6c5a (patch) | |
| tree | ff3ed4fea73c2148061ccaef872885d5496f4b2f /net/mac80211/iface.c | |
| parent | 5b999006e35ea9c11116ddff7e375b256421d0af (diff) | |
wifi: mac80211: remove debugfs dir for virtual monitor
Don't call ieee80211_debugfs_recreate_netdev() for virtual monitor
interface when deleting it.
The virtual monitor interface shouldn't have debugfs entries and trying
to update them will *create* them on deletion.
And when the virtual monitor interface is created/destroyed multiple
times we'll get warnings about debugfs name conflicts.
Signed-off-by: Alexander Wetzel <Alexander@wetzel-home.de>
Link: https://patch.msgid.link/20250204164240.370153-1-Alexander@wetzel-home.de
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/iface.c')
| -rw-r--r-- | net/mac80211/iface.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c index 0ea7e77860b7..738de269e13f 100644 --- a/net/mac80211/iface.c +++ b/net/mac80211/iface.c @@ -1206,16 +1206,17 @@ void ieee80211_del_virtual_monitor(struct ieee80211_local *local) return; } - RCU_INIT_POINTER(local->monitor_sdata, NULL); - mutex_unlock(&local->iflist_mtx); - - synchronize_net(); - + clear_bit(SDATA_STATE_RUNNING, &sdata->state); ieee80211_link_release_channel(&sdata->deflink); if (ieee80211_hw_check(&local->hw, WANT_MONITOR_VIF)) drv_remove_interface(local, sdata); + RCU_INIT_POINTER(local->monitor_sdata, NULL); + mutex_unlock(&local->iflist_mtx); + + synchronize_net(); + kfree(sdata); } |
