Wen Gong <quic_wgong@xxxxxxxxxxx> wrote: > When doing simulate_fw_crash operation periodically with a short interval > time such as 10 seconds, it is easy happened WMI command timed out for > WMI_SCAN_CHAN_LIST_CMDID in ath11k_reg_update_chan_list(). > > log: > [42287.610053] ath11k_pci 0000:01:00.0: wmi command 12291 timeout > [42287.610064] ath11k_pci 0000:01:00.0: failed to send WMI_SCAN_CHAN_LIST cmd > [42287.610073] ath11k_pci 0000:01:00.0: failed to perform regd update : -11 > > Note that this issue does not occur with a longer interval such as 20 seconds. > > The reason the issue occurs with a shorter interval is the following steps: > 1) Upon initial boot, or after device recovery, the initial hw scan plus > the 11d scan will run, and when 6 GHz support is present, these scans > can take up to 12 seconds to complete, so ath11k_reg_update_chan_list() > is still waiting the completion of ar->completed_11d_scan. > 2) If a simulate_fw_crash operation is received during this time, those > scans do not complete, and ath11k_core_pre_reconfigure_recovery() > complete the ar->completed_11d_scan, then ath11k_reg_update_chan_list() > wakeup and start to send WMI_SCAN_CHAN_LIST_CMDID, but firmware is crashed > at this moment, so wmi timed out occur. > > To address this issue, reset the 11d state during device recovery so that > WMI_SCAN_CHAN_LIST_CMDID does not timed out for short interval time such > as 10 seconds. > > Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3 > > Fixes: 1f682dc9fb37 ("ath11k: reduce the wait time of 11d scan and hw scan while add interface") > Signed-off-by: Wen Gong <quic_wgong@xxxxxxxxxxx> > Signed-off-by: Kalle Valo <quic_kvalo@xxxxxxxxxxx> Patch applied to ath-next branch of ath.git, thanks. 9497b7880ffd ath11k: reset 11d state in process of recovery -- https://patchwork.kernel.org/project/linux-wireless/patch/20220505034636.29582-1-quic_wgong@xxxxxxxxxxx/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches