iwlwifi Backport Request

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux