mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-07-16 15:39:42 -04:00
wifi: mac80211: handle debugfs when switching to/from MLO
In MLO, we have a per-link debugfs directory which contains the per-link files. In case of non-MLO we would like to put the per-link files in the netdev directory to keep it how it was before MLO. - Upon interface creation the netdev will be created with the per-link files in it. - Upon switching to MLO: delete the entire netdev directory and then recreate it without the per-link files. Then the per-link directories with the per-link files in it will be created in ieee80211_link_init() - Upon switching to non-MLO: delete the entire netdev directory (including the per-link directories) and recreate it with the per-link files in it. Note that this also aligns to always call the vif link debugfs method for the deflink as promised in the documentation, which wasn't done before. Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Gregory Greenman <gregory.greenman@intel.com> Link: https://lore.kernel.org/r/20230928172905.082e698caca9.I5bef7b2026e0f58b4a958b3d1f459ac5baeccfc9@changeid Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
committed by
Johannes Berg
parent
a1f5dcb1c0
commit
c942398f95
@@ -1,4 +1,8 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
/*
|
||||
* Portions:
|
||||
* Copyright (C) 2023 Intel Corporation
|
||||
*/
|
||||
/* routines exported for debugfs handling */
|
||||
|
||||
#ifndef __IEEE80211_DEBUGFS_NETDEV_H
|
||||
@@ -7,9 +11,12 @@
|
||||
#include "ieee80211_i.h"
|
||||
|
||||
#ifdef CONFIG_MAC80211_DEBUGFS
|
||||
void ieee80211_debugfs_add_netdev(struct ieee80211_sub_if_data *sdata);
|
||||
void ieee80211_debugfs_add_netdev(struct ieee80211_sub_if_data *sdata,
|
||||
bool mld_vif);
|
||||
void ieee80211_debugfs_remove_netdev(struct ieee80211_sub_if_data *sdata);
|
||||
void ieee80211_debugfs_rename_netdev(struct ieee80211_sub_if_data *sdata);
|
||||
void ieee80211_debugfs_recreate_netdev(struct ieee80211_sub_if_data *sdata,
|
||||
bool mld_vif);
|
||||
|
||||
void ieee80211_link_debugfs_add(struct ieee80211_link_data *link);
|
||||
void ieee80211_link_debugfs_remove(struct ieee80211_link_data *link);
|
||||
@@ -18,7 +25,7 @@ void ieee80211_link_debugfs_drv_add(struct ieee80211_link_data *link);
|
||||
void ieee80211_link_debugfs_drv_remove(struct ieee80211_link_data *link);
|
||||
#else
|
||||
static inline void ieee80211_debugfs_add_netdev(
|
||||
struct ieee80211_sub_if_data *sdata)
|
||||
struct ieee80211_sub_if_data *sdata, bool mld_vif)
|
||||
{}
|
||||
static inline void ieee80211_debugfs_remove_netdev(
|
||||
struct ieee80211_sub_if_data *sdata)
|
||||
@@ -26,7 +33,9 @@ static inline void ieee80211_debugfs_remove_netdev(
|
||||
static inline void ieee80211_debugfs_rename_netdev(
|
||||
struct ieee80211_sub_if_data *sdata)
|
||||
{}
|
||||
|
||||
static inline void ieee80211_debugfs_recreate_netdev(
|
||||
struct ieee80211_sub_if_data *sdata, bool mld_vif)
|
||||
{}
|
||||
static inline void ieee80211_link_debugfs_add(struct ieee80211_link_data *link)
|
||||
{}
|
||||
static inline void ieee80211_link_debugfs_remove(struct ieee80211_link_data *link)
|
||||
|
||||
Reference in New Issue
Block a user