Wen Gong <quic_wgong@xxxxxxxxxxx> wrote: > When firmware crashed while channel switch running, recovery starts in > ath12k. Then ieee80211_sta_connection_lost() will be called by function > ieee80211_restart_work() in mac80211. And then many WMI command timeout > because firmware is crashed. Each WMI command cost 3 seconds, then the > total time will be large and leads recovery fail. > > Hence change to set value ATH12K_FLAG_CRASH_FLUSH early and then > ath12k_wmi_cmd_send() will not wait 3 seconds, then recovery will be > started quickly and success. > > Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0-03427-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.15378.4 > > Signed-off-by: Wen Gong <quic_wgong@xxxxxxxxxxx> > Acked-by: Jeff Johnson <quic_jjohnson@xxxxxxxxxxx> > Signed-off-by: Kalle Valo <quic_kvalo@xxxxxxxxxxx> Patch applied to ath-next branch of ath.git, thanks. ecbb987b0a96 wifi: ath12k: fix recovery fail while firmware crash when doing channel switch -- https://patchwork.kernel.org/project/linux-wireless/patch/20230905105229.10090-1-quic_wgong@xxxxxxxxxxx/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches