Commit e1e83feb authored by Emmanuel Grumbach's avatar Emmanuel Grumbach Committed by Johannes Berg
Browse files

wifi: mac80211: don't override max_amsdu_subframes

In client mode, the extended capabilities are handled by the kernel
looking at the association frame.  When the supplicant installs the keys
it calls sta_apply_parameters and it doesn't include the extended
capabilities since those can't change after association.
As a result, we overrode the max_amsdu_subframes that we set after
association.

Check that the ext_capa coming from the user space is valid before
looking at it. If the ext_capa is NULL, it really means that the
extended capabilities are not changed (as opposed to cleared).

The default value for max_amsdu_subframes is 0, which means there is no
limit. This value is valid and in case the association response frame
does not have extended capabilities, this is the value we should use.

Closes: https://bugzilla.kernel.org/show_bug.cgi?id=221079


Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Reviewed-by: default avatarJohannes Berg <johannes.berg@intel.com>
Signed-off-by: default avatarMiri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://patch.msgid.link/20260513170623.828dbb58c782.Ifd2bfc190c26140e919127adb02ffddd7b551499@changeid


Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent f718506e
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -2344,6 +2344,7 @@ static int sta_apply_parameters(struct ieee80211_local *local,
		sta->sta.max_sp = params->max_sp;
	}

	if (params->ext_capab)
		ieee80211_sta_set_max_amsdu_subframes(sta, params->ext_capab,
						      params->ext_capab_len);