From 3d88332a45d1f49ec401fcd6c18b5eaa04a82f81 Mon Sep 17 00:00:00 2001 From: David Garske Date: Tue, 15 Sep 2026 10:53:22 -0700 Subject: [PATCH] amd: fix invalid bare dsb in the GEM polling RX path on AArch64 --- src/port/amd/ip/gem_rx_poll.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/port/amd/ip/gem_rx_poll.c b/src/port/amd/ip/gem_rx_poll.c index a83ca056..7401b12d 100644 --- a/src/port/amd/ip/gem_rx_poll.c +++ b/src/port/amd/ip/gem_rx_poll.c @@ -50,10 +50,10 @@ int gem_eth_poll(struct wolfIP_ll_dev *ll, void *buf, uint32_t len) if (gem_rx_next == RX_RING_LEN - 1) addr |= RXBUF_WRAP; gem_rx_ring[gem_rx_next].status = 0; - __asm__ volatile ("dsb" ::: "memory"); + __asm__ volatile ("dsb sy" ::: "memory"); gem_rx_ring[gem_rx_next].addr = addr; /* OWN=0 -> hardware can write */ cache_clean(&gem_rx_ring[gem_rx_next], sizeof(gem_rx_ring[gem_rx_next])); - __asm__ volatile ("dsb" ::: "memory"); + __asm__ volatile ("dsb sy" ::: "memory"); gem_rx_next = (gem_rx_next + 1) % RX_RING_LEN; return (int)copy;