On Thu, Jun 05, 2025 at 12:01:29PM +0800, Miaoqing Pan wrote:
On 6/5/2025 12:24 AM, Jeff Johnson wrote:
On 6/3/2025 7:34 PM, Miaoqing Pan wrote:
We previously had extensive discussions on this topic in the https://lore.kernel.org/linux-wireless/ecfe850c-b263-4bee-b888-c34178e690fc@... thread. On my platform, dma_rmb() did not work as expected. The issue only disappeared after disabling PCIe endpoint relaxed ordering in firmware side. So it seems that HP was updated (Memory write) before descriptor (Memory write), which led to the problem.
Have all ath11k and ath12k firmware been updated to prevent this problem from the firmware side?
No, as this is not a widespread issue, and addressing it would require modifying the core underlying modules of the firmware. Therefore, we chose not to proceed with that approach but instead used the workaround patch I previously submitted.
I strongly suggest you fix this at the firmware level rather than try to work around it in the kernel to avoid playing whack-a-mole whenever a new (hard to track down) bug shows up.
The barriers should be enough, but if they are not then the firmware must be fixed.
Johan