From 23fbf3b82125fba788bcbcb9eb8388dc91cf7c88 Mon Sep 17 00:00:00 2001 From: Tk-Glitch Date: Mon, 29 Jan 2024 12:19:54 +0100 Subject: [PATCH] 6.8: misc-additions: Remove commit merged in rc2 - wifi: ath11k: rely on mac80211 debugfs handling for vif --- .../6.8/0012-misc-additions.patch | 160 ------------------ 1 file changed, 160 deletions(-) diff --git a/linux-tkg-patches/6.8/0012-misc-additions.patch b/linux-tkg-patches/6.8/0012-misc-additions.patch index eb65852..60306e3 100644 --- a/linux-tkg-patches/6.8/0012-misc-additions.patch +++ b/linux-tkg-patches/6.8/0012-misc-additions.patch @@ -98,163 +98,3 @@ index f4b210ab061291..837d0dbb28ea08 100644 help This value can be used to select the number of bits to use to -From 7c13cc521f78fd261de3001dac48fd572baae671 Mon Sep 17 00:00:00 2001 -From: Benjamin Berg -Date: Thu, 11 Jan 2024 18:06:29 +0100 -Subject: [PATCH] wifi: ath11k: rely on mac80211 debugfs handling for vif - -mac80211 started to delete debugfs entries in certain cases, causing a -conflict between ath11k also trying to delete them later on. Fix this by -relying on mac80211 to delete the entries when appropriate and adding -them from the vif_add_debugfs handler. - -Fixes: 0a3d898ee9a8 ("wifi: mac80211: add/remove driver debugfs entries as appropriate") -Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=218364 -Signed-off-by: Benjamin Berg -Cherry-picked-for: https://gitlab.archlinux.org/archlinux/packaging/packages/linux/-/issues/18 ---- - drivers/net/wireless/ath/ath11k/core.h | 4 ---- - drivers/net/wireless/ath/ath11k/debugfs.c | 25 +++++++++-------------- - drivers/net/wireless/ath/ath11k/debugfs.h | 12 ++--------- - drivers/net/wireless/ath/ath11k/mac.c | 12 +---------- - 4 files changed, 13 insertions(+), 40 deletions(-) - -diff --git a/drivers/net/wireless/ath/ath11k/core.h b/drivers/net/wireless/ath/ath11k/core.h -index f12b606e2d2e56..667d55e261560f 100644 ---- a/drivers/net/wireless/ath/ath11k/core.h -+++ b/drivers/net/wireless/ath/ath11k/core.h -@@ -368,10 +368,6 @@ struct ath11k_vif { - struct ieee80211_chanctx_conf chanctx; - struct ath11k_arp_ns_offload arp_ns_offload; - struct ath11k_rekey_data rekey_data; -- --#ifdef CONFIG_ATH11K_DEBUGFS -- struct dentry *debugfs_twt; --#endif /* CONFIG_ATH11K_DEBUGFS */ - }; - - struct ath11k_vif_iter { -diff --git a/drivers/net/wireless/ath/ath11k/debugfs.c b/drivers/net/wireless/ath/ath11k/debugfs.c -index be76e7d1c4366e..3ba6aa077e36d2 100644 ---- a/drivers/net/wireless/ath/ath11k/debugfs.c -+++ b/drivers/net/wireless/ath/ath11k/debugfs.c -@@ -1893,35 +1893,30 @@ static const struct file_operations ath11k_fops_twt_resume_dialog = { - .open = simple_open - }; - --void ath11k_debugfs_add_interface(struct ath11k_vif *arvif) -+void ath11k_debugfs_op_add_interface(struct ieee80211_hw *hw, -+ struct ieee80211_vif *vif) - { -+ struct ath11k_vif *arvif = ath11k_vif_to_arvif(vif); - struct ath11k_base *ab = arvif->ar->ab; -+ struct dentry *debugfs_twt; - - if (arvif->vif->type != NL80211_IFTYPE_AP && - !(arvif->vif->type == NL80211_IFTYPE_STATION && - test_bit(WMI_TLV_SERVICE_STA_TWT, ab->wmi_ab.svc_map))) - return; - -- arvif->debugfs_twt = debugfs_create_dir("twt", -- arvif->vif->debugfs_dir); -- debugfs_create_file("add_dialog", 0200, arvif->debugfs_twt, -+ debugfs_twt = debugfs_create_dir("twt", -+ arvif->vif->debugfs_dir); -+ debugfs_create_file("add_dialog", 0200, debugfs_twt, - arvif, &ath11k_fops_twt_add_dialog); - -- debugfs_create_file("del_dialog", 0200, arvif->debugfs_twt, -+ debugfs_create_file("del_dialog", 0200, debugfs_twt, - arvif, &ath11k_fops_twt_del_dialog); - -- debugfs_create_file("pause_dialog", 0200, arvif->debugfs_twt, -+ debugfs_create_file("pause_dialog", 0200, debugfs_twt, - arvif, &ath11k_fops_twt_pause_dialog); - -- debugfs_create_file("resume_dialog", 0200, arvif->debugfs_twt, -+ debugfs_create_file("resume_dialog", 0200, debugfs_twt, - arvif, &ath11k_fops_twt_resume_dialog); - } - --void ath11k_debugfs_remove_interface(struct ath11k_vif *arvif) --{ -- if (!arvif->debugfs_twt) -- return; -- -- debugfs_remove_recursive(arvif->debugfs_twt); -- arvif->debugfs_twt = NULL; --} -diff --git a/drivers/net/wireless/ath/ath11k/debugfs.h b/drivers/net/wireless/ath/ath11k/debugfs.h -index 3af0169f6cf218..b0bdd5e5f82b22 100644 ---- a/drivers/net/wireless/ath/ath11k/debugfs.h -+++ b/drivers/net/wireless/ath/ath11k/debugfs.h -@@ -306,8 +306,8 @@ static inline int ath11k_debugfs_rx_filter(struct ath11k *ar) - return ar->debug.rx_filter; - } - --void ath11k_debugfs_add_interface(struct ath11k_vif *arvif); --void ath11k_debugfs_remove_interface(struct ath11k_vif *arvif); -+void ath11k_debugfs_op_add_interface(struct ieee80211_hw *hw, -+ struct ieee80211_vif *vif); - void ath11k_debugfs_add_dbring_entry(struct ath11k *ar, - enum wmi_direct_buffer_module id, - enum ath11k_dbg_dbr_event event, -@@ -386,14 +386,6 @@ static inline int ath11k_debugfs_get_fw_stats(struct ath11k *ar, - return 0; - } - --static inline void ath11k_debugfs_add_interface(struct ath11k_vif *arvif) --{ --} -- --static inline void ath11k_debugfs_remove_interface(struct ath11k_vif *arvif) --{ --} -- - static inline void - ath11k_debugfs_add_dbring_entry(struct ath11k *ar, - enum wmi_direct_buffer_module id, -diff --git a/drivers/net/wireless/ath/ath11k/mac.c b/drivers/net/wireless/ath/ath11k/mac.c -index 7f7b3981777377..6acf11fafb22e5 100644 ---- a/drivers/net/wireless/ath/ath11k/mac.c -+++ b/drivers/net/wireless/ath/ath11k/mac.c -@@ -6750,13 +6750,6 @@ static int ath11k_mac_op_add_interface(struct ieee80211_hw *hw, - goto err; - } - -- /* In the case of hardware recovery, debugfs files are -- * not deleted since ieee80211_ops.remove_interface() is -- * not invoked. In such cases, try to delete the files. -- * These will be re-created later. -- */ -- ath11k_debugfs_remove_interface(arvif); -- - memset(arvif, 0, sizeof(*arvif)); - - arvif->ar = ar; -@@ -6933,8 +6926,6 @@ static int ath11k_mac_op_add_interface(struct ieee80211_hw *hw, - - ath11k_dp_vdev_tx_attach(ar, arvif); - -- ath11k_debugfs_add_interface(arvif); -- - if (vif->type != NL80211_IFTYPE_MONITOR && - test_bit(ATH11K_FLAG_MONITOR_CONF_ENABLED, &ar->monitor_flags)) { - ret = ath11k_mac_monitor_vdev_create(ar); -@@ -7050,8 +7041,6 @@ static void ath11k_mac_op_remove_interface(struct ieee80211_hw *hw, - /* Recalc txpower for remaining vdev */ - ath11k_mac_txpower_recalc(ar); - -- ath11k_debugfs_remove_interface(arvif); -- - /* TODO: recal traffic pause state based on the available vdevs */ - - mutex_unlock(&ar->conf_mutex); -@@ -9149,6 +9138,7 @@ static const struct ieee80211_ops ath11k_ops = { - #endif - - #ifdef CONFIG_ATH11K_DEBUGFS -+ .vif_add_debugfs = ath11k_debugfs_op_add_interface, - .sta_add_debugfs = ath11k_debugfs_sta_op_add, - #endif -