Hi Mikhail,

On 27.06.26 13:11, Mikhail Gavrilov wrote:
Hi Robert,

Thanks for catching this. You're right -- with DMA_ATTR_SKIP_CPU_SYNC
in get_sg_table(), the first begin_cpu_udmabuf() call no longer gets
the implicit CPU sync that the dma_map path used to provide, and the
explicit sync in the old else-branch only ran when ubuf->sg already
existed.

The fix correctly moves dma_sync_sgtable_for_cpu() so it runs in both
cases. The logic looks right to me.

This wouldn't reproduce on x86 since DMA is cache-coherent there
(dma_sync_* is a no-op), which is why I missed it -- it only matters
on non-coherent architectures. My apologies for the regression.

Reviewed-by: Mikhail Gavrilov <[email protected]>

thanks for the quick review! And no worries, I was very happy about your patch, which is why I looked deeper into it in the first place.

Given the patch fixes a newly introduced regression (and is very simple), do you think there's a chance to still get it into 7.1 - or would it need to go via the usual 7.2/7.3 release schedule + backport?

Best regards

--
Robert Mader
Consultant Software Developer

Collabora Ltd.
Platinum Building, St John's Innovation Park, Cambridge CB4 0DS, UK
Registered in England & Wales, no. 5513718

Reply via email to