Currently, links in an interface are allocated during channel assignment via assign_vif_chanctx(). Conversely, links are deleted during channel unassignment via unassign_vif_chanctx(). However, deleting links during channel unassignment does not comply with mac80211 link handling. Therefore, this process should be managed within change_vif_links(). This series aims to add support to handle links in change_vif_links() callback. Patches 1-2 are making debug infra to work without device info. Patches 3-8 are the ones changing the code to handle as mentioned above. NOTE: * A new ath12k-check warning comes which probably needs to be added to ignore list drivers/net/wireless/ath/ath12k/debug.c:69: Prefer [subsystem eg: netdev]_dbg([subsystem]dev, ... then dev_dbg(dev, ... then pr_debug(... to printk(KERN_DEBUG ... This is because, since device info is not known can not use netdev_ or dev_ dbg family. pr_debug() is an option but that will require DYNAMIC_DEBUG and then ath12k needs to be probed with dyndbg=+p which we don't want in ath. Hence, only option left is to use printk() directly. --- Changes in v2: - No changes in patches 1-5, 7. - Relocated ath12k_mac_remove_link_interface() as well in patch 6. - Properly handled peer create and peer delete symmetry in patch 8. This unsymmetry was the root cause of the DFS channel bring up as reported with v1. - Link to v1: https://lore.kernel.org/r/20250204-unlink_link_arvif_from_chanctx-v1-0-675bd4cea339@xxxxxxxxxxxxxxxx --- Aditya Kumar Singh (8): wifi: ath12k: eliminate redundant debug mask check in ath12k_dbg() wifi: ath12k: introduce ath12k_generic_dbg() wifi: ath12k: remove redundant vif settings during link interface creation wifi: ath12k: remove redundant logic for initializing arvif wifi: ath12k: use arvif instead of link_conf in ath12k_mac_set_key() wifi: ath12k: relocate a few functions in mac.c wifi: ath12k: allocate new links in change_vif_links() wifi: ath12k: handle link removal in change_vif_links() drivers/net/wireless/ath/ath12k/debug.c | 6 +- drivers/net/wireless/ath/ath12k/debug.h | 7 +- drivers/net/wireless/ath/ath12k/mac.c | 302 ++++++++++++++++++-------------- 3 files changed, 180 insertions(+), 135 deletions(-) --- base-commit: 48a62436540224f57013c27519dd2aa3ddd714c9 change-id: 20241210-unlink_link_arvif_from_chanctx-315159c5ac63