Subject: Re: [PATCH] Revert "wifi: iwlwifi: trans: remove STATUS_SUSPENDED"

From: Chris Bainbridge <[email-masked]>
Date: Tue, 27 Jan 2026 12:21:59 +0000

On Tue, Jan 27, 2026 at 05:05:31AM +0000, Korenblit, Miriam Rachel wrote:
> 
> Just making sure: have you been able to reproduce the assert (ADVANCED_SYSASSERT in the log), and then the panic didn't happen?

Yes, the ADVANCED_SYSASSERT was logged but there was no subsequent null pointer
dereference.

> If yes, please test the attached patch, which is supposed to fix the assert itself. With this, you are not even supposed to see an assert.

I ran this through 15 suspend/resume cycles with network traffic. The
ADVANCED_SYSASSERT did not occur, so it looks like the patch does fix
the SYSASSERT. There was a warning logged once out of the 15 cycles:

[  454.184873] ------------[ cut here ]------------
[  454.184894] WR pointer moved while flushing 216 -> 239
[  454.184898] WARNING: drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans.c:2570 at iwl_trans_pcie_wait_txq_empty+0x4f7/0x6d0 [iwlwifi], CPU#9: kworker/u64:38/4331
[  454.184927] Modules linked in: snd_seq_dummy snd_hrtimer snd_seq xt_conntrack nft_chain_nat xt_MASQUERADE nf_nat nf_conntrack_netlink nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 xfrm_user xfrm_algo xt_addrtype nft_compat x_tables nf_tables br_netfilter bridge stp llc ccm overlay qrtr rfcomm cmac algif_hash algif_skcipher af_alg bnep binfmt_misc ext4 mbcache jbd2 nls_ascii nls_cp437 vfat fat snd_acp3x_pdm_dma snd_soc_dmic snd_acp3x_rn snd_hda_codec_generic snd_soc_core intel_rapl_msr snd_compress amd_atl intel_rapl_common snd_hda_codec_hdmi iwlmvm mac80211 snd_hda_intel libarc4 snd_usb_audio uvcvideo kvm_amd snd_hda_codec snd_pci_acp6x btusb videobuf2_vmalloc snd_usbmidi_lib snd_intel_dspcfg snd_pci_acp5x btrtl videobuf2_memops snd_rawmidi snd_hwdep btintel kvm btbcm uvc snd_seq_device snd_hda_core btmtk irqbypass videobuf2_v4l2 snd_rn_pci_acp3x iwlwifi snd_pcm rapl videodev snd_acp_config bluetooth pcspkr cfg80211 snd_soc_acpi snd_timer wmi_bmof ecdh_generic videobuf2_common ee1004 ecc k10temp snd_pci_acp3x mc snd
[  454.185174]  rfkill soundcore ccp ac battery sg button amd_pmc acpi_tad joydev evdev msr parport_pc ppdev lp parport nvme_fabrics fuse efi_pstore configfs nfnetlink efivarfs autofs4 crc32c_cryptoapi btrfs blake2b libblake2b xor raid6_pq dm_crypt hid_microsoft ff_memless hid_cmedia r8153_ecm cdc_ether usbnet dm_mod r8152 mii libphy mdio_bus sd_mod uas usb_storage scsi_mod usbhid scsi_common amdgpu drm_client_lib i2c_algo_bit drm_ttm_helper ttm drm_exec drm_suballoc_helper drm_buddy drm_panel_backlight_quirks gpu_sched amdxcp hid_multitouch drm_display_helper ucsi_acpi hid_generic typec_ucsi drm_kms_helper roles xhci_pci sp5100_tco video xhci_hcd typec cec i2c_hid_acpi watchdog i2c_hid amd_sfh ghash_clmulni_intel serio_raw rc_core usbcore nvme thunderbolt hid i2c_piix4 crc16 i2c_smbus nvme_core fan usb_common drm wmi aesni_intel
[  454.185402] CPU: 9 UID: 0 PID: 4331 Comm: kworker/u64:38 Not tainted 6.19.0-rc6-00341-gf1d1ad131417 #406 PREEMPT(voluntary)
[  454.185408] Hardware name: HP HP Pavilion Aero Laptop 13-be0xxx/8916, BIOS F.17 12/18/2024
[  454.185412] Workqueue: async async_run_entry_fn
[  454.185423] RIP: 0010:iwl_trans_pcie_wait_txq_empty+0x4fe/0x6d0 [iwlwifi]
[  454.185446] Code: 48 c7 04 03 00 00 00 00 48 81 c4 88 00 00 00 89 d0 5b 5d 41 5c 41 5d 41 5e 41 5f c3 48 8d 3d 99 65 09 00 0f b6 d3 40 0f b6 f6 <67> 48 0f b9 3a ba 92 ff ff ff eb bb 48 89 c7 e8 8e 7a 05 de e9 4e
[  454.185450] RSP: 0018:ffff888110abf488 EFLAGS: 00010297
[  454.185456] RAX: fffffbfff4a42250 RBX: 00000000000033ef RCX: 0000000000000006
[  454.185460] RDX: 00000000000000ef RSI: 00000000000000d8 RDI: ffffffffc4c207b0
[  454.185464] RBP: dffffc0000000000 R08: 0000000000000001 R09: 0000000000000000
[  454.185468] R10: 000000000000335f R11: 0000000000000006 R12: ffffed102c4293b0
[  454.185471] R13: ffff888162149c00 R14: ffff888162149d80 R15: ffff888162149d00
[  454.185475] FS:  0000000000000000(0000) GS:ffff8883e3d30000(0000) knlGS:0000000000000000
[  454.185479] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  454.185483] CR2: 00007ff3d9400000 CR3: 00000002b9b2d000 CR4: 0000000000750ef0
[  454.185487] PKRU: 55555554
[  454.185490] Call Trace:
[  454.185494]  <TASK>
[  454.185506]  ? iwl_trans_pcie_rxq_dma_data+0x220/0x220 [iwlwifi]
[  454.185530]  ? __local_bh_enable_ip+0xab/0x130
[  454.185540]  iwl_mvm_wait_sta_queues_empty+0x8c/0xd0 [iwlmvm]
[  454.185568]  iwl_mvm_mac_flush+0x668/0xd20 [iwlmvm]
[  454.185591]  ? lock_is_held_type+0xd5/0x130
[  454.185602]  __ieee80211_flush_queues+0x3cd/0x7c0 [mac80211]
[  454.185679]  ieee80211_set_disassoc+0x123f/0x1ac0 [mac80211]
[  454.185752]  ? ieee80211_powersave_allowed+0x360/0x360 [mac80211]
[  454.185818]  ? unwind_next_frame+0x2e2/0x1ea0
[  454.185830]  ieee80211_mgd_deauth.cold+0xa3/0x71e [mac80211]
[  454.185900]  ? __lock_acquire+0x459/0x2170
[  454.185908]  ? ieee80211_mgd_assoc+0x4ae0/0x4ae0 [mac80211]
[  454.185988]  ? lock_is_held_type+0xd5/0x130
[  454.185999]  cfg80211_mlme_deauth+0x33b/0x890 [cfg80211]
[  454.186080]  ? cfg80211_mlme_assoc+0xa50/0xa50 [cfg80211]
[  454.186164]  cfg80211_mlme_down+0x17a/0x240 [cfg80211]
[  454.186236]  ? cfg80211_mlme_disassoc+0x540/0x540 [cfg80211]
[  454.186315]  cfg80211_disconnect+0x50f/0x800 [cfg80211]
[  454.186393]  wiphy_suspend+0x1f8/0x350 [cfg80211]
[  454.186472]  ? rdev_suspend+0x2a0/0x2a0 [cfg80211]
[  454.186544]  dpm_run_callback+0xfc/0x410
[  454.186554]  ? dpm_async_suspend_superior+0x2e0/0x2e0
[  454.186561]  ? pm_verb+0x90/0x90
[  454.186566]  ? _raw_spin_unlock_irqrestore+0x48/0x60
[  454.186578]  device_suspend+0x37b/0x1080
[  454.186587]  ? async_suspend_late+0x30/0x30
[  454.186594]  ? seqcount_lockdep_reader_access.constprop.0+0x82/0x90
[  454.186601]  ? lockdep_hardirqs_on+0x78/0x100
[  454.186612]  ? device_suspend+0x1080/0x1080
[  454.186616]  async_suspend+0x19/0x30
[  454.186622]  async_run_entry_fn+0x93/0x500
[  454.186633]  process_one_work+0x849/0x1420
[  454.186651]  ? pwq_dec_nr_in_flight+0xe00/0xe00
[  454.186665]  ? assign_work+0x168/0x240
[  454.186670]  ? lock_is_held_type+0xd5/0x130
[  454.186679]  worker_thread+0x5ef/0xfd0
[  454.186697]  ? process_one_work+0x1420/0x1420
[  454.186701]  kthread+0x3ad/0x760
[  454.186709]  ? kthread_is_per_cpu+0xb0/0xb0
[  454.186713]  ? ret_from_fork+0x71/0x800
[  454.186719]  ? ret_from_fork+0x71/0x800
[  454.186725]  ? _raw_spin_unlock_irq+0x24/0x50
[  454.186732]  ? kthread_is_per_cpu+0xb0/0xb0
[  454.186739]  ret_from_fork+0x54a/0x800
[  454.186746]  ? exit_thread+0x70/0x70
[  454.186754]  ? __switch_to+0x36f/0xd60
[  454.186761]  ? kthread_is_per_cpu+0xb0/0xb0
[  454.186768]  ret_from_fork_asm+0x11/0x20
[  454.186789]  </TASK>
[  454.186792] irq event stamp: 1499703
[  454.186795] hardirqs last  enabled at (1499709): [<ffffffffa241cdee>] __up_console_sem+0x5e/0x70
[  454.186802] hardirqs last disabled at (1499714): [<ffffffffa241cdd3>] __up_console_sem+0x43/0x70
[  454.186808] softirqs last  enabled at (1498148): [<ffffffffc4b8a152>] iwl_trans_pcie_wait_txq_empty+0x432/0x6d0 [iwlwifi]
[  454.186831] softirqs last disabled at (1498146): [<ffffffffc4b8a00f>] iwl_trans_pcie_wait_txq_empty+0x2ef/0x6d0 [iwlwifi]
[  454.186852] ---[ end trace 0000000000000000 ]---

I think that this is probably a different bug though - checking previous
logs with journalctl, I see the same warning occurred once with
6.17.0-06871-gf79e772258df which predates the "remove STATUS_SUSPENDED"
commit.