Search Linux Wireless

Re: iwlwifi 0000:3a:00.0: Microcode SW error detected. Restarting 0x2000000.

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

 



On Tue, 2022-01-11 at 20:47 -0500, Len Brown wrote:
> 
> I recently installed Fedora 35, and the card worked fine.
> But when I built and booted a 5.15 or 5.16 upstream kernel from src,
> the card fails at initialization and I've not found a way to revive it.
> (dmesg below)

Ouch.

> [   11.411533] iwlwifi 0000:3a:00.0: Loaded firmware version: 17.3216344376.0 3160-17.ucode
> [   11.412815] iwlwifi 0000:3a:00.0: 0x00000038 | BAD_COMMAND

...

> [   11.688317] iwlwifi 0000:3a:00.0: FW error in SYNC CMD PER_CHAIN_LIMIT_OFFSET_CMD

Looks like somehow this slipped through and we're sending a new command
with an old firmware.


Something like this might help?

diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c
index 7ee4802a5ef1..56b9363a9111 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c
@@ -1026,7 +1026,9 @@ static int iwl_mvm_sar_geo_init(struct iwl_mvm *mvm)
 	/* the ops field is at the same spot for all versions, so set in v1 */
 	cmd.v1.ops = cpu_to_le32(IWL_PER_CHAIN_OFFSET_SET_TABLES);
 
-	if (cmd_ver == 5) {
+	if (cmd_ver == IWL_FW_CMD_VER_UNKNOWN) {
+		return 0;
+	} else if (cmd_ver == 5) {
 		len = sizeof(cmd.v5);
 		n_bands = ARRAY_SIZE(cmd.v5.table[0]);
 		n_profiles = ACPI_NUM_GEO_PROFILES_REV3;


Luca, are you aware of anything in this area?

johannes



[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux