diff options
author | Miri Korenblit <miriam.rachel.korenblit@intel.com> | 2024-01-29 22:00:53 +0300 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2024-02-02 16:20:43 +0300 |
commit | b341590e77d89d8812051fdd2354ff04e12f211b (patch) | |
tree | afe7d94f4f3d596bef144f6883a6f456ed9b6009 /net/mac80211/link.c | |
parent | 358ddc7bfa980888b69b406a7c4ce0a5b0ac5c30 (diff) | |
download | linux-b341590e77d89d8812051fdd2354ff04e12f211b.tar.xz |
wifi: mac80211: don't allow deactivation of all links
The set_active_links API is intended for link switching, so switching
to no links at all is not supported.
Add a warning to check that.
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20240129200054.e3c113f94508.Ia35f927f914bf98dd8f9350dd4f78b1d901b1c1d@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/link.c')
-rw-r--r-- | net/mac80211/link.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/net/mac80211/link.c b/net/mac80211/link.c index d4f86955afa6..c0d05efcf6f8 100644 --- a/net/mac80211/link.c +++ b/net/mac80211/link.c @@ -444,6 +444,9 @@ int ieee80211_set_active_links(struct ieee80211_vif *vif, u16 active_links) lockdep_assert_wiphy(local->hw.wiphy); + if (WARN_ON(!active_links)) + return -EINVAL; + if (!drv_can_activate_links(local, sdata, active_links)) return -EINVAL; @@ -472,6 +475,9 @@ void ieee80211_set_active_links_async(struct ieee80211_vif *vif, { struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); + if (WARN_ON(!active_links)) + return; + if (!ieee80211_sdata_running(sdata)) return; |