[PATCH v2] ath11k: add wait operation for tx management packets for flush from mac80211
Kalle Valo
kvalo at codeaurora.org
Mon Nov 22 04:19:29 PST 2021
Wen Gong <quic_wgong at quicinc.com> writes:
> In ath11k, tx of management packet is doing in a work queue. Sometimes
> the workqueue does not finish tx immediately, then it lead after the next
> step of vdev delete finished, it start to send the management packet to
> firmware and lead firmware crash.
>
> ieee80211_set_disassoc have logic of ieee80211_flush_queues after it
> send_deauth_disassoc to ath11k, its purpose is make sure the deauth
> was actually sent, so it need to change ath11k to match the purpose
> of mac80211.
>
> To address these issue wait for tx mgmt and tx data packets.
>
> Tested-on: QCA6390 hw2.0 PCI WLAN.HST.1.0.1-01230-QCAHSTSWPLZ_V2_TO_X86-1
>
> Signed-off-by: Wen Gong <quic_wgong at quicinc.com>
I sometimes see new warnings with this patch:
[ 142.346474] ath11k_pci 0000:06:00.0: failed to flush mgmt transmit queue 0
[ 147.466367] ath11k_pci 0000:06:00.0: failed to flush mgmt transmit queue 0
And more importantly this breaks suspend on my NUC testbox:
[ 175.141820] PM: suspend entry (deep)
[ 175.150512] Filesystems sync: 0.008 seconds
[ 175.229703] Freezing user space processes ... (elapsed 0.003 seconds) done.
[ 175.233506] OOM killer disabled.
[ 175.233588] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
[ 175.242457] printk: Suspending console(s) (use no_console_suspend to debug)
[ 175.245269] wlan0: deauthenticating from 00:03:7f:48:81:59 by local choice (Reason: 3=DEAUTH_LEAVING)
[ 175.285881] e1000e: EEE TX LPI TIMER: 00000011
[ 180.745259] ath11k_pci 0000:06:00.0: failed to flush mgmt transmit queue 0
[ 185.864977] ath11k_pci 0000:06:00.0: failed to flush mgmt transmit queue 0
[ 185.970601] PM: Some devices failed to suspend, or early wake event detected
[ 185.974081] usb usb3: root hub lost power or was reset
[ 185.974135] usb usb4: root hub lost power or was reset
[ 186.098870] nvme nvme0: 8/0/0 default/read/poll queues
[ 186.297077] OOM killer enabled.
[ 186.297361] Restarting tasks ... done.
[ 186.343733] PM: suspend exit
My setup:
Tag: ath-202111221111
[ 151.123732] ath11k_pci 0000:06:00.0: MSI vectors: 32
[ 151.123851] ath11k_pci 0000:06:00.0: qca6390 hw2.0
[ 151.720618] ath11k_pci 0000:06:00.0: chip_id 0x0 chip_family 0xb board_id 0xff soc_id 0xffffffff
[ 151.720912] ath11k_pci 0000:06:00.0: fw_version 0x101c06cc fw_build_timestamp 2020-06-24 19:50 fw_build_id
--
https://patchwork.kernel.org/project/linux-wireless/list/
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
More information about the ath11k
mailing list