]> git.ipfire.org Git - thirdparty/linux.git/commit
net: hibmcge: move dma_rmb() after dma_sync_single_for_cpu() in RX path
authorJijie Shao <shaojijie@huawei.com>
Mon, 25 May 2026 14:45:25 +0000 (22:45 +0800)
committerPaolo Abeni <pabeni@redhat.com>
Thu, 28 May 2026 10:59:36 +0000 (12:59 +0200)
commitb545b6ea1802b32436fa97f1d2918718212cc831
tree00bf4fd33507a8ec871b68663500c0218495f8e1
parent463a1271aa26eac992851b9d98cc75bc3cd4a1ed
net: hibmcge: move dma_rmb() after dma_sync_single_for_cpu() in RX path

The dma_rmb() barrier was placed before dma_sync_single_for_cpu(), which
is incorrect. DMA sync must complete first to make the buffer accessible
to the CPU, then the rmb barrier ensures subsequent descriptor reads
observe the latest data written by the hardware.

Reorder the operations so dma_sync_single_for_cpu() is called before
dma_rmb() to guarantee the driver reads consistent data from the DMA
buffer.

Fixes: f72e25594061 ("net: hibmcge: Implement rx_poll function to receive packets")
Signed-off-by: Jijie Shao <shaojijie@huawei.com>
Link: https://patch.msgid.link/20260525144525.94884-3-shaojijie@huawei.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/ethernet/hisilicon/hibmcge/hbg_txrx.c