[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <257bf9e9-f4b2-4ab9-804f-b895243c924d@quicinc.com>
Date: Thu, 5 Jun 2025 16:37:13 +0800
From: Baochen Qiang <quic_bqiang@...cinc.com>
To: Johan Hovold <johan+linaro@...nel.org>, Jeff Johnson <jjohnson@...nel.org>
CC: Miaoqing Pan <quic_miaoqing@...cinc.com>,
Remi Pommarel
<repk@...plefau.lt>, <linux-wireless@...r.kernel.org>,
<ath12k@...ts.infradead.org>, <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v2 0/4] wifi: ath12k: fix dest ring-buffer corruption
On 6/4/2025 10:45 PM, Johan Hovold wrote:
> As a follow up to commit:
>
> b67d2cf14ea ("wifi: ath12k: fix ring-buffer corruption")
>
> add the remaining missing memory barriers to make sure that destination
> ring descriptors are read after the head pointers to avoid using stale
> data on weakly ordered architectures like aarch64.
>
> Also switch back to plain accesses for the descriptor fields which is
> sufficient after the memory barrier.
>
> New in v2 are two patches that add the missing barriers also for source
> rings and when updating the tail pointer for destination rings.
>
> To avoid leaking ring details from the "hal" (lmac or non-lmac), the
> barriers are added to the ath12k_hal_srng_access_end() helper. For
Could you elaborate? what do you mean by "leaking ring details from the 'hal'"?
> symmetry I therefore moved also the dest ring barriers into
> ath12k_hal_srng_access_begin() and made the barrier conditional.
>
> [ Due to this change I did not add Miaoqing's reviewed-by tag. ]
>
> Johan
>
>
> Changes in v2:
> - add tested-on tags to plain access patch
> - move destination barriers into begin helper
> - fix source ring corruption (new patch)
> - fix dest ring corruption when ring is full (new patch)
>
>
> Johan Hovold (4):
> wifi: ath12k: fix dest ring-buffer corruption
> wifi: ath12k: use plain access for descriptor length
> wifi: ath12k: fix source ring-buffer corruption
> wifi: ath12k: fix dest ring-buffer corruption when ring is full
>
> drivers/net/wireless/ath/ath12k/ce.c | 3 --
> drivers/net/wireless/ath/ath12k/hal.c | 40 ++++++++++++++++++++++-----
> 2 files changed, 33 insertions(+), 10 deletions(-)
>
Powered by blists - more mailing lists