wifi: mac80211: don't ask driver about no-op link changes

If the links won't actually change, nothing will happen.
This was previously done in the inner function (twice in
some cases), but we shouldn't bother the driver with it.
Clean that up.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20240320091155.a8190a312a27.If4e6f5ce8228eda7afac0fc8c17dd731c5da9ed9@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
Johannes Berg 2024-03-20 09:14:03 +02:00
parent 80b0aacd1a
commit 2f51c87a15

View File

@ -450,10 +450,13 @@ int ieee80211_set_active_links(struct ieee80211_vif *vif, u16 active_links)
if (WARN_ON(!active_links)) if (WARN_ON(!active_links))
return -EINVAL; return -EINVAL;
old_active = sdata->vif.active_links;
if (old_active == active_links)
return 0;
if (!drv_can_activate_links(local, sdata, active_links)) if (!drv_can_activate_links(local, sdata, active_links))
return -EINVAL; return -EINVAL;
old_active = sdata->vif.active_links;
if (old_active & active_links) { if (old_active & active_links) {
/* /*
* if there's at least one link that stays active across * if there's at least one link that stays active across