Hello, I wanted to see if I could have two patches backported to 5.15 stable that concern Intel iwlwifi AX2XX stability. The patches are attached to the kernel bugzilla that can be found here: https://bugzilla.kernel.org/show_bug.cgi?id=214549. I've also attached them to this email. The patches fix an issue with the Intel AX210 that I have where it can cause a firmware reset when the device is under load causing performance to drop to around ~500Kb/s till the interface is restarted. This reset is easy to reproduce during normal use such as streaming videos and is problematic for devices such as laptops that primarily use wifi for connectivity. The mac80211 change is currently in the 5.16 RC and the scan timeout is in netdev-next and is supposed to be scheduled for 5.17 from what I can tell. I believe that the patches meet the requirements of the -stable tree as it makes the adapter for many users including myself difficult to use reliably. If this is the incorrect venue for this please let me know. Thanks, Kevin Anderson
From eee0d59654fc5bb3727ac4364101a604e322b313 Mon Sep 17 00:00:00 2001 From: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Mon, 12 Jul 2021 17:53:03 +0200 Subject: [PATCH] mac80211: mark TX-during-stop for TX in in_reconfig Mark TXQs as having seen transmit while they were stopped if we bail out of drv_wake_tx_queue() due to reconfig, so that the queue wake after this will make them catch up. This is particularly necessary for when TXQs are used for management packets since those TXQs won't see a lot of traffic that'd make them catch up later. Cc: stable@xxxxxxxxxxxxxxx Fixes: 4856bfd23098 ("mac80211: do not call driver wake_tx_queue op during reconfig") Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> --- net/mac80211/driver-ops.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/net/mac80211/driver-ops.h b/net/mac80211/driver-ops.h index 604ca59937f0..d98a05061986 100644 --- a/net/mac80211/driver-ops.h +++ b/net/mac80211/driver-ops.h @@ -1201,8 +1201,11 @@ static inline void drv_wake_tx_queue(struct ieee80211_local *local, { struct ieee80211_sub_if_data *sdata = vif_to_sdata(txq->txq.vif); - if (local->in_reconfig) + /* In reconfig don't transmit now, but mark for waking later */ + if (local->in_reconfig) { + set_bit(IEEE80211_TXQ_STOP_NETIF_TX, &txq->flags); return; + } if (!check_sdata_in_driver(sdata)) return; -- 2.17.1
From fa9f057b7ba73e9da0dbd0abf2b0266742471e9c Mon Sep 17 00:00:00 2001 From: Ilan Peer <ilan.peer@xxxxxxxxx> Date: Mon, 29 Nov 2021 11:13:31 +0200 Subject: [PATCH] iwlwifi: mvm: Increase the scan timeout guard to 30 seconds With the introduction of 6GHz channels the scan guard timeout should be adjusted to account for the following extreme case: - All 6GHz channels are scanned passively: 58 channels. - The scan is fragmented with the following parameters: 3 fragments, 95 TUs suspend time, 44 TUs maximal out of channel time. The above would result with scan time of more than 24 seconds. Thus, set the timeout to 30 seconds. type=bugfix ticket=jira:WIFI-157075 fixes=unknown Change-Id: I346fa2e1d79220a6770496e773c6f87a2ad9e6c4 Signed-off-by: Ilan Peer <ilan.peer@xxxxxxxxx> --- drivers/net/wireless/intel/iwlwifi/mvm/scan.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/scan.c b/drivers/net/wireless/intel/iwlwifi/mvm/scan.c index ee3aff8bf7c2..3853222911d9 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/scan.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/scan.c @@ -2478,7 +2478,7 @@ static int iwl_mvm_check_running_scans(struct iwl_mvm *mvm, int type) return -EIO; } -#define SCAN_TIMEOUT 20000 +#define SCAN_TIMEOUT 30000 void iwl_mvm_scan_timeout_wk(struct work_struct *work) { -- 2.17.1