mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-25 22:20:45 +00:00
net: dwc_eth_qos: Prevent DMA from writing updated RX DMA descriptor
The DMA may attempt to write a DMA descriptor in the ring while it is being updated. By writing the DMA descriptor buffer address to 0, it is assured the DMA will not use such a buffer and the buffer can be updated without any interference. Reviewed-by: Patrick Delaunay <patrick.delaunay@st.com> Signed-off-by: Marek Vasut <marex@denx.de> Cc: Joe Hershberger <joe.hershberger@ni.com> Cc: Patrice Chotard <patrice.chotard@st.com> Cc: Patrick Delaunay <patrick.delaunay@st.com> Cc: Ramon Fried <rfried.dev@gmail.com> Cc: Stephen Warren <swarren@nvidia.com>
This commit is contained in:
parent
a83ca0c280
commit
24891dd8d4
1 changed files with 3 additions and 1 deletions
|
@ -1477,8 +1477,10 @@ static int eqos_free_pkt(struct udevice *dev, uchar *packet, int length)
|
|||
|
||||
rx_desc = &(eqos->rx_descs[eqos->rx_desc_idx]);
|
||||
|
||||
rx_desc->des0 = 0;
|
||||
mb();
|
||||
eqos->config->ops->eqos_flush_desc(rx_desc);
|
||||
eqos->config->ops->eqos_inval_buffer(packet, length);
|
||||
|
||||
rx_desc->des0 = (u32)(ulong)packet;
|
||||
rx_desc->des1 = 0;
|
||||
rx_desc->des2 = 0;
|
||||
|
|
Loading…
Reference in a new issue