]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
wifi: iwlwifi: mld: don't exit EMLSR when we shouldn't
authorMiri Korenblit <miriam.rachel.korenblit@intel.com>
Thu, 12 Jun 2025 11:48:57 +0000 (14:48 +0300)
committerMiri Korenblit <miriam.rachel.korenblit@intel.com>
Wed, 25 Jun 2025 07:57:33 +0000 (10:57 +0300)
commit0cdb8ff6ebbac55f38933f4621215784887b400e
treed920dbb794899716551bc7b15b7cbb9927593460
parentdc6bc5112166390e0b64ff5f593bb8ff53b9c00e
wifi: iwlwifi: mld: don't exit EMLSR when we shouldn't

There is a requirement to exit EMLSR if there wasn't enough throughput
in the secondary link.
This is checked in check_tpt_wk, which runs every 5 seconds in a high
throughput scenario (when the throughput blocker isn't set)

It can happen that this worker is running immediately after we entered
EMLSR, and in that case the secondary link didn't have a chance to have
throughput. In that case we will exit EMLSR for no good reason.

Fix this by tracking the time we entered EMLSR, and in the worker make
sure that 5 seconds passed from when we entered EMLSR. If not, don't
check the secondary link throughput.

Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://patch.msgid.link/20250612144708.c680f8d7dc37.I8a02d1e8d99df3789da8d5714f19b31a865a61ff@changeid
drivers/net/wireless/intel/iwlwifi/mld/iface.h
drivers/net/wireless/intel/iwlwifi/mld/mac80211.c
drivers/net/wireless/intel/iwlwifi/mld/mlo.c