We get report [1] that CPU is running in hot loop while requesting firmware stats, fix it in patch [1/6]. While at it, fix potential failures due to static variables in patch [2/6]. patch [3/6] fix potential issues in cases ath11k debugfs is not enabled. patch [4/6] fix lock symmetry issue. and the last two patches refactor firmware stats request helpers such that we can remove some redundant code. [1] https://lore.kernel.org/all/7324ac7a-8b7a-42a5-aa19-de52138ff638@xxxxxxxxxxxxxxxx v2: - rebased on ToT - use completion mechanism in patch "wifi: ath11k: avoid burning CPU in ath11k_debugfs_fw_stats_request()" - add new patch: "wifi: ath11k: don't wait when there is no vdev started" - update copyright where applicable Link to v1: https://lore.kernel.org/linux-wireless/20241113015631.3105-1-quic_bqiang@xxxxxxxxxxx/ Baochen Qiang (7): wifi: ath11k: avoid burning CPU in ath11k_debugfs_fw_stats_request() wifi: ath11k: don't use static variables in ath11k_debugfs_fw_stats_process() wifi: ath11k: don't wait when there is no vdev started wifi: ath11k: move some firmware stats related functions outside of debugfs wifi: ath11k: adjust unlock sequence in ath11k_update_stats_event() wifi: ath11k: move locking outside of ath11k_mac_get_fw_stats() wifi: ath11k: consistently use ath11k_mac_get_fw_stats() drivers/net/wireless/ath/ath11k/core.c | 1 + drivers/net/wireless/ath/ath11k/core.h | 4 +- drivers/net/wireless/ath/ath11k/debugfs.c | 148 ++-------------------- drivers/net/wireless/ath/ath11k/debugfs.h | 10 +- drivers/net/wireless/ath/ath11k/mac.c | 127 ++++++++++++------- drivers/net/wireless/ath/ath11k/mac.h | 4 +- drivers/net/wireless/ath/ath11k/wmi.c | 49 ++++++- 7 files changed, 147 insertions(+), 196 deletions(-) base-commit: f22471c17f5849b2f20e2c56ec9fcd9dd8d5bf28 -- 2.25.1