Wen Gong <quic_wgong@xxxxxxxxxxx> 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@xxxxxxxxxxx> 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