]> git.ipfire.org Git - thirdparty/kernel/stable.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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 20 Aug 2025 16:41:15 +0000 (18:41 +0200)
commit098b14fe96f190faac2b66b265870c3196674f40
tree17bd4e6ccaf0fe33d24f55a4d2b70ee53bfe6042
parentee7961bd4afc3f00bc84c1f6045813ccab6c745f
wifi: iwlwifi: mld: don't exit EMLSR when we shouldn't

[ Upstream commit 0cdb8ff6ebbac55f38933f4621215784887b400e ]

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
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/wireless/intel/iwlwifi/mld/iface.h
drivers/net/wireless/intel/iwlwifi/mld/mac80211.c
drivers/net/wireless/intel/iwlwifi/mld/mlo.c