]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
wifi: cfg80211: add cfg80211_stop_link() for per-link teardown
authorManish Dharanenthiran <manish.dharanenthiran@oss.qualcomm.com>
Thu, 27 Nov 2025 10:11:23 +0000 (15:41 +0530)
committerJohannes Berg <johannes.berg@intel.com>
Thu, 8 Jan 2026 12:11:01 +0000 (13:11 +0100)
commitdc4b176cce09b8f92ccdc8639feedc7b19e28740
tree4600782ecaf7b5950f4e4661628881b9c14ce1e3
parentdbf8fe85a16a33d6b6bd01f2bc606fc017771465
wifi: cfg80211: add cfg80211_stop_link() for per-link teardown

Currently, whenever cfg80211_stop_iface() is called, the entire iface
is stopped. However, there could be a need in AP/P2P_GO mode, where
one would like to stop a single link in MLO operation instead of the
whole MLD interface.

Hence, introduce cfg80211_stop_link() to allow drivers to tear down
only a specified AP/P2P_GO link during MLO operation. Passing -1
preserves the existing behavior of stopping the whole interface. Make
cfg80211_stop_iface() call this function by passing -1 to keep the
default behavior the same, that is, to stop all links and use
cfg80211_stop_link() with the desired link_id for AP/P2P_GO mode, to
stop only that link.

This brings no behavioral change for single-link/non-MLO interfaces,
and enables drivers to stop an AP/P2P_GO link without disrupting other
links on the same interface.

Signed-off-by: Manish Dharanenthiran <manish.dharanenthiran@oss.qualcomm.com>
Link: https://patch.msgid.link/20251127-stop_link-v2-1-43745846c5fd@qti.qualcomm.com
[make cfg80211_stop_iface() inline]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
include/net/cfg80211.h
net/wireless/core.c
net/wireless/core.h
net/wireless/reg.c
net/wireless/sysfs.c
net/wireless/trace.h
net/wireless/util.c