summaryrefslogtreecommitdiff
path: root/lib/mpi/mpiutil.c
diff options
context:
space:
mode:
authorGovindaraj Saminathan <quic_gsaminat@quicinc.com>2022-11-29 13:04:02 +0200
committerKalle Valo <quic_kvalo@quicinc.com>2022-12-02 21:44:42 +0200
commite44de90453bb2b46a523df78c39eb896bab35dcd (patch)
treeefd88cf7cf31b81790560b3d2d3f9b2e1ca15c11 /lib/mpi/mpiutil.c
parentd889913205cf7ebda905b1e62c5867ed4e39f6c2 (diff)
wifi: ath11k: Fix race condition with struct htt_ppdu_stats_info
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@quicinc.com> Co-developed-by: Karthikeyan Kathirvel <quic_kathirve@quicinc.com> Signed-off-by: Karthikeyan Kathirvel <quic_kathirve@quicinc.com> Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com> Link: https://lore.kernel.org/r/20221124071104.22506-1-quic_kathirve@quicinc.com
Diffstat (limited to 'lib/mpi/mpiutil.c')
0 files changed, 0 insertions, 0 deletions