Re: Linux-6.5 iwlwifi crash

From: Larry Finger
Date: Fri Jul 07 2023 - 14:07:58 EST


On 7/7/23 03:43, Linux regression tracking (Thorsten Leemhuis) wrote:
Hi, Thorsten here, the Linux kernel's regression tracker. Top-posting
for once, to make this easily accessible to everyone.

Jeff, thx for bisecting. Johannes afaik is unavailable for a while
(CCing him nevertheless), hence:

Gregory, could you please take a look at this? And maybe provide a few
hints for Jeff how to generate more data that allows us to find the root
of the problem?

Jeff, btw, the iwlwifi bug reporting guide (
https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi/debugging
) says to file a bugs in http://bugzilla.kernel.org/ Might be wise to do
this in case Gregory is also unavailable, but instructed someone to keep
an eye on things there.

Ciao, Thorsten (wearing his 'the Linux kernel's regression tracker' hat)
--
Everything you wanna know about Linux kernel regression tracking:
https://linux-regtracking.leemhuis.info/about/#tldr
If I did something stupid, please tell me, as explained on that page.

On 07.07.23 03:56, Jeff Chua wrote:
On Thu, Jul 6, 2023 at 2:11 AM Larry Finger <Larry.Finger@xxxxxxxxxxxx> wrote:

Fow what it is worth, my 6.4-git (6.5-rc0?) commit d528014517f2 (pulled today)
is working OK with iwlmvm. Lspci says my device is

04:00.0 Network controller [0280]: Intel Corporation Wireless 7260 [8086:08b1]
(rev 73)

I think you do need to do a bisection.
Larry


Larry,

I did a bisect and here's what it came up with ... reverted the
following and iwlwiifi worked again.


19898ce9cf8a33e0ac35cb4c7f68de297cc93cb2 is the first bad commit
commit 19898ce9cf8a33e0ac35cb4c7f68de297cc93cb2
Author: Johannes Berg <johannes.berg@xxxxxxxxx>
Date: Wed Jun 21 13:12:07 2023 +0300

wifi: iwlwifi: split 22000.c into multiple files

Split the configuration list in 22000.c into four new files,
per new device family, so we don't have this huge unusable
file. Yes, this duplicates a few small things, but that's
still much better than what we have now.

Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
Signed-off-by: Gregory Greenman <gregory.greenman@xxxxxxxxx>
Link: https://lore.kernel.org/r/20230621130443.7543603b2ee7.Ia8dd54216d341ef1ddc0531f2c9aa30d30536a5d@changeid
Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>

Jeff,

I am certainly no expert on iwlwifi, but this change looks suspicious:

@@ -10,8 +10,7 @@
#include "fw/api/txq.h"

/* Highest firmware API version supported */
-#define IWL_22000_UCODE_API_MAX 81
-#define IWL_22500_UCODE_API_MAX 77
+#define IWL_22000_UCODE_API_MAX 77

/* Lowest firmware API version supported */

The parameter that was originally set to 81 is now set to 77.

Please try the attached patch.

Larry
diff --git a/drivers/net/wireless/cisco/airo.c b/drivers/net/wireless/cisco/airo.c
index beee09dd958c..4ca6a1ba78e8 100644
--- a/drivers/net/wireless/cisco/airo.c
+++ b/drivers/net/wireless/cisco/airo.c
@@ -6156,7 +6156,7 @@ static int airo_get_rate(struct net_device *dev,
{
struct iw_param *vwrq = &wrqu->bitrate;
struct airo_info *local = dev->ml_priv;
- StatusRid status_rid; /* Card status info */
+ StatusRid status_rid = {}; /* Card status info */

readStatusRid(local, &status_rid, 1);

diff --git a/drivers/net/wireless/intel/iwlwifi/cfg/22000.c b/drivers/net/wireless/intel/iwlwifi/cfg/22000.c
index aa4320ca4c30..d3e70c33fbcf 100644
--- a/drivers/net/wireless/intel/iwlwifi/cfg/22000.c
+++ b/drivers/net/wireless/intel/iwlwifi/cfg/22000.c
@@ -10,7 +10,7 @@
#include "fw/api/txq.h"

/* Highest firmware API version supported */
-#define IWL_22000_UCODE_API_MAX 77
+#define IWL_22000_UCODE_API_MAX 81

/* Lowest firmware API version supported */
#define IWL_22000_UCODE_API_MIN 50