mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2024-12-29 09:12:07 +00:00
wifi: mac80211: fix driver debugfs for vif type change
If a driver implements the change_interface() method, we switch interface type without taking the interface down, but still will recreate the debugfs for it since it's a new type. As such, we should use the ieee80211_debugfs_recreate_netdev() function here to also recreate the driver's files, if it is indeed from a type change while up. Link: https://msgid.link/20240129155402.7311a36ffeeb.I18df02bbeb685d4250911de5ffbaf090f60c3803@changeid Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
dd6c064cfc
commit
733c498a80
@ -997,8 +997,8 @@ static void add_link_files(struct ieee80211_link_data *link,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ieee80211_debugfs_add_netdev(struct ieee80211_sub_if_data *sdata,
|
static void ieee80211_debugfs_add_netdev(struct ieee80211_sub_if_data *sdata,
|
||||||
bool mld_vif)
|
bool mld_vif)
|
||||||
{
|
{
|
||||||
char buf[10+IFNAMSIZ];
|
char buf[10+IFNAMSIZ];
|
||||||
|
|
||||||
|
@ -11,8 +11,6 @@
|
|||||||
#include "ieee80211_i.h"
|
#include "ieee80211_i.h"
|
||||||
|
|
||||||
#ifdef CONFIG_MAC80211_DEBUGFS
|
#ifdef CONFIG_MAC80211_DEBUGFS
|
||||||
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_remove_netdev(struct ieee80211_sub_if_data *sdata);
|
||||||
void ieee80211_debugfs_rename_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,
|
void ieee80211_debugfs_recreate_netdev(struct ieee80211_sub_if_data *sdata,
|
||||||
@ -24,9 +22,6 @@ void ieee80211_link_debugfs_remove(struct ieee80211_link_data *link);
|
|||||||
void ieee80211_link_debugfs_drv_add(struct ieee80211_link_data *link);
|
void ieee80211_link_debugfs_drv_add(struct ieee80211_link_data *link);
|
||||||
void ieee80211_link_debugfs_drv_remove(struct ieee80211_link_data *link);
|
void ieee80211_link_debugfs_drv_remove(struct ieee80211_link_data *link);
|
||||||
#else
|
#else
|
||||||
static inline void ieee80211_debugfs_add_netdev(
|
|
||||||
struct ieee80211_sub_if_data *sdata, bool mld_vif)
|
|
||||||
{}
|
|
||||||
static inline void ieee80211_debugfs_remove_netdev(
|
static inline void ieee80211_debugfs_remove_netdev(
|
||||||
struct ieee80211_sub_if_data *sdata)
|
struct ieee80211_sub_if_data *sdata)
|
||||||
{}
|
{}
|
||||||
|
@ -1783,7 +1783,7 @@ static void ieee80211_setup_sdata(struct ieee80211_sub_if_data *sdata,
|
|||||||
/* need to do this after the switch so vif.type is correct */
|
/* need to do this after the switch so vif.type is correct */
|
||||||
ieee80211_link_setup(&sdata->deflink);
|
ieee80211_link_setup(&sdata->deflink);
|
||||||
|
|
||||||
ieee80211_debugfs_add_netdev(sdata, false);
|
ieee80211_debugfs_recreate_netdev(sdata, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ieee80211_runtime_change_iftype(struct ieee80211_sub_if_data *sdata,
|
static int ieee80211_runtime_change_iftype(struct ieee80211_sub_if_data *sdata,
|
||||||
|
Loading…
Reference in New Issue
Block a user