]> git.itanic.dy.fi Git - linux-stable/commit
net: fec: add dma_wmb to ensure correct descriptor values
authorShenwei Wang <shenwei.wang@nxp.com>
Thu, 18 May 2023 15:02:02 +0000 (10:02 -0500)
committerDavid S. Miller <davem@davemloft.net>
Fri, 19 May 2023 08:17:53 +0000 (09:17 +0100)
commit9025944fddfed5966c8f102f1fe921ab3aee2c12
treea741f9b27c4e2a600be5e5a2af2a88604abe7d41
parent3be5f6cd4a52b72ae31b77171da0912829c02096
net: fec: add dma_wmb to ensure correct descriptor values

Two dma_wmb() are added in the XDP TX path to ensure proper ordering of
descriptor and buffer updates:
1. A dma_wmb() is added after updating the last BD to make sure
   the updates to rest of the descriptor are visible before
   transferring ownership to FEC.
2. A dma_wmb() is also added after updating the bdp to ensure these
   updates are visible before updating txq->bd.cur.
3. Start the xmit of the frame immediately right after configuring the
   tx descriptor.

Fixes: 6d6b39f180b8 ("net: fec: add initial XDP support")
Signed-off-by: Shenwei Wang <shenwei.wang@nxp.com>
Reviewed-by: Wei Fang <wei.fang@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/freescale/fec_main.c