wifi: ath11k: fix source ring-buffer corruption
authorJohan Hovold <johan+linaro@kernel.org>
Wed, 4 Jun 2025 14:34:56 +0000 (16:34 +0200)
committerJeff Johnson <jeff.johnson@oss.qualcomm.com>
Thu, 26 Jun 2025 23:10:47 +0000 (16:10 -0700)
commit6efa0df54022c6c9fd4d294b87622c7fcdc418c8
treef45518221ee0278b6920f97f13843913838a288f
parent4aba95fb1faed7fe7f6e1edfb60c333e0275dfc1
wifi: ath11k: fix source ring-buffer corruption

Add the missing memory barrier to make sure that LMAC source ring
descriptors are written before updating the head pointer to avoid
passing stale data to the firmware on weakly ordered architectures like
aarch64.

Note that non-LMAC rings use MMIO write accessors which have the
required write memory barrier.

Tested-on: WCN6855 hw2.1 WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.41

Fixes: d5c65159f289 ("ath11k: driver for Qualcomm IEEE 802.11ax devices")
Cc: stable@vger.kernel.org # 5.6
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Reviewed-by: Baochen Qiang <quic_bqiang@quicinc.com>
Link: https://patch.msgid.link/20250604143457.26032-5-johan+linaro@kernel.org
Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
drivers/net/wireless/ath/ath11k/hal.c