Karthikeyan Kathirvel <quic_kathirve@xxxxxxxxxxx> wrote: > A crash happens when running the traffic with multiple clients: > > Crash Signature : Unable to handle kernel paging request at > virtual address ffffffd700970918 During the crash, PC points to > "ieee80211_tx_rate_update+0x30/0x68 [mac80211]" > LR points to "ath11k_dp_htt_htc_t2h_msg_handler+0x5a8/0x8a0 [ath11k]". > > Struct ppdu_stats_info is allocated and accessed from event callback via copy > engine tasklet, this has a problem when freeing it from ath11k_mac_op_stop(). > > Use data_lock during entire ath11k_dp_htt_get_ppdu_desc() call to protect > struct htt_ppdu_stats_info access and to avoid race condition when accessing it > from ath11k_mac_op_stop(). > > Tested-on: IPQ8074 hw2.0 AHB WLAN.HK.2.7.0.1-01744-QCAHKSWPL_SILICONZ-1 > > Signed-off-by: Govindaraj Saminathan <quic_gsaminat@xxxxxxxxxxx> > Co-developed-by: Karthikeyan Kathirvel <quic_kathirve@xxxxxxxxxxx> > Signed-off-by: Karthikeyan Kathirvel <quic_kathirve@xxxxxxxxxxx> > Signed-off-by: Kalle Valo <quic_kvalo@xxxxxxxxxxx> Patch applied to ath-next branch of ath.git, thanks. e44de90453bb wifi: ath11k: Fix race condition with struct htt_ppdu_stats_info -- https://patchwork.kernel.org/project/linux-wireless/patch/20221124071104.22506-1-quic_kathirve@xxxxxxxxxxx/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches