diff mbox series

Intel AC 9462 driver fails to load under Xen (Failed to configure RX queues)

Message ID 3cab5072-17a2-4d9a-2077-93788971c6c4@invisiblethingslab.com
State New
Headers show
Series Intel AC 9462 driver fails to load under Xen (Failed to configure RX queues) | expand

Commit Message

Paweł Marczewski April 13, 2020, 7:23 p.m. UTC
Hi,
I have an Intel Wireless-AC 9462 and I'm trying to get it working under
Qubes OS (in a Xen HVM domain). The driver fails when I try to bring the
network up:

[   26.012784] iwlwifi 0000:00:07.0: FW error in SYNC CMD
RFH_QUEUE_CONFIG_CMD
[   26.012817] CPU: 0 PID: 1187 Comm: ip Not tainted 5.6.3-1.qubes.x86_64 #1
[   26.012833] Hardware name: Xen HVM domU, BIOS 4.13.0 03/11/2020
[   26.012848] Call Trace:
[   26.012860]  dump_stack+0x66/0x90
[   26.012884]  iwl_trans_pcie_gen2_send_hcmd+0x405/0x410 [iwlwifi]
[   26.012902]  ? finish_wait+0x80/0x80
[   26.012918]  iwl_trans_send_cmd+0x51/0xb0 [iwlwifi]
[   26.012938]  iwl_mvm_send_cmd+0x1b/0x40 [iwlmvm]
[   26.012955]  iwl_configure_rxq+0x141/0x1b0 [iwlmvm]
[   26.012972]  iwl_mvm_up+0x422/0x960 [iwlmvm]
[   26.012989]  __iwl_mvm_mac_start+0x26/0x1d0 [iwlmvm]
[   26.013006]  iwl_mvm_mac_start+0x24/0x40 [iwlmvm]
[   26.013035]  drv_start+0x43/0xf0 [mac80211]
[   26.013058]  ieee80211_do_open+0x219/0x8e0 [mac80211]
[   26.013082]  ? ieee80211_check_concurrent_iface+0x14f/0x1c0 [mac80211]
[   26.013102]  __dev_open+0xe0/0x170
[   26.013112]  __dev_change_flags+0x1a1/0x200
[   26.013124]  dev_change_flags+0x21/0x60
[   26.013135]  do_setlink+0x861/0x9b0
[   26.013148]  __rtnl_newlink+0x5d1/0x9a0
[   26.013163]  rtnl_newlink+0x44/0x70
[   26.013172]  rtnetlink_rcv_msg+0x2cb/0x380
[   26.013184]  ? rtnl_calcit.isra.0+0x110/0x110
[   26.013197]  netlink_rcv_skb+0x75/0x140
[   26.013208]  netlink_unicast+0x199/0x240
[   26.013219]  netlink_sendmsg+0x243/0x480
[   26.013231]  sock_sendmsg+0x5e/0x60
[   26.013243]  ____sys_sendmsg+0x21b/0x290
[   26.013253]  ? copy_msghdr_from_user+0xe1/0x160
[   26.013267]  ___sys_sendmsg+0x9e/0xe0
[   26.013280]  __sys_sendmsg+0x81/0xd0
[   26.013291]  do_syscall_64+0x5b/0x1c0
[   26.013304]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
[   26.013317] RIP: 0033:0x7d18f2170b87
[   26.013331] Code: 64 89 02 48 c7 c0 ff ff ff ff eb bb 0f 1f 80 00 00
00 00 f3 0f 1e fa 64 8b 04 25 18 00 00 00 85 c0 75 10 b8 2e 00 00 00 0f
05 <48> 3d 00 f0 ff ff 77 51 c3 48 83 ec 28 89 54 24 1c 48 89 74 24 10
[   26.211994] RSP: 002b:00007fff536402c8 EFLAGS: 00000246 ORIG_RAX:
000000000000002e
[   26.212016] RAX: ffffffffffffffda RBX: 0000000000000000 RCX:
00007d18f2170b87
[   26.212035] RDX: 0000000000000000 RSI: 00007fff53640340 RDI:
0000000000000003
[   26.212055] RBP: 000000005e943910 R08: 0000000000000001 R09:
0000000000000230
[   26.212074] R10: 0000000000000040 R11: 0000000000000246 R12:
0000000000000001
[   26.212092] R13: 00007fff53640b10 R14: 00007fff53640410 R15:
00005c5e4aef8020
[   26.212170] iwlwifi 0000:00:07.0: Failed to configure RX queues: -5
[   26.212193] iwlwifi 0000:00:07.0: Hardware error detected.  Restarting.
[   26.212231] iwlwifi 0000:00:07.0: Firmware not running - cannot dump
error

This is on a 5.6.3 kernel, I also tried 5.4.24 and 5.5.9.

The firmware version is: 48.4fa0041f.0 QuZ-a0-jf-b0-48.u

I can provide full dmesg.log, and a trace (output of 'trace-cmd record
-e iwlwifi -e mac80211 -e cfg80211 -e iwlwifi_msg'). I'm not sure if I
am allowed to send attachments to this list?

As a workaround, I tried to remove the call that was apparently causing
the crash (iwl_configure_rxq), see patch below. This actually worked,
and I can use wifi now.

I'm not sure if it's related, but Qubes OS users report similar crashes
when trying to run Intel AX200 [1] [2].

[1] https://github.com/QubesOS/qubes-issues/issues/5615
[2] https://groups.google.com/forum/#!topic/qubes-users/7VcN8kkKop0

The workaround:


P.S. My apologies if you're seeing this message for the second time - I
tried to send it before and I think it was dropped because I cannot see
it in any of the archives.
diff mbox series

Patch

diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c
b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c
index 98263cd37944..943831c9b685 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c
@@ -1111,15 +1111,6 @@  int iwl_mvm_up(struct iwl_mvm *mvm)
 		goto error;

 	/* Init RSS configuration */
-	if (mvm->trans->trans_cfg->device_family >= IWL_DEVICE_FAMILY_22000) {
-		ret = iwl_configure_rxq(mvm);
-		if (ret) {
-			IWL_ERR(mvm, "Failed to configure RX queues: %d\n",
-				ret);
-			goto error;
-		}
-	}
-
 	if (iwl_mvm_has_new_rx_api(mvm)) {
 		ret = iwl_send_rss_cfg_cmd(mvm);
 		if (ret) {