wifi: ath12k: fix dest ring-buffer corruption
authorJohan Hovold <johan+linaro@kernel.org>
Tue, 17 Jun 2025 08:43:59 +0000 (10:43 +0200)
committerJeff Johnson <jeff.johnson@oss.qualcomm.com>
Thu, 26 Jun 2025 23:10:48 +0000 (16:10 -0700)
commit8157ce533a60521f21d466eb4de45d9735b19484
tree514f8fc9a611fda541a588dc52db1065b2c81e2c
parentaa6956150f820e6a6deba44be325ddfcb5b10f88
wifi: ath12k: fix dest ring-buffer corruption

Add the missing memory barrier to make sure that destination ring
descriptors are read after the head pointers to avoid using stale data
on weakly ordered architectures like aarch64.

The barrier is added to the ath12k_hal_srng_access_begin() helper for
symmetry with follow-on fixes for source ring buffer corruption which
will add barriers to ath12k_hal_srng_access_end().

Tested-on: WCN7850 hw2.0 WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3

Fixes: d889913205cf ("wifi: ath12k: driver for Qualcomm Wi-Fi 7 devices")
Cc: stable@vger.kernel.org # 6.3
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Reviewed-by: Baochen Qiang <quic_bqiang@quicinc.com>
Link: https://patch.msgid.link/20250617084402.14475-2-johan+linaro@kernel.org
Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
drivers/net/wireless/ath/ath12k/ce.c
drivers/net/wireless/ath/ath12k/hal.c