As desc_is_used has a load-acquire or rte_io_rmb inside and wait for used desc in virtqueue, it is ok to remove virtio_rmb behind it.
Signed-off-by: Joyce Kong <joyce.k...@arm.com> Reviewed-by: Ruifeng Wang <ruifeng.w...@arm.com> --- drivers/net/virtio/virtio_ethdev.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c index 6c233b75b..0d91f7a50 100644 --- a/drivers/net/virtio/virtio_ethdev.c +++ b/drivers/net/virtio/virtio_ethdev.c @@ -209,12 +209,12 @@ virtio_send_command_packed(struct virtnet_ctl *cvq, virtio_wmb(vq->hw->weak_barriers); virtqueue_notify(vq); - /* wait for used descriptors in virtqueue */ + /* wait for used desc in virtqueue + * desc_is_used has a load-acquire or rte_io_rmb inside + */ while (!desc_is_used(&desc[head], vq)) usleep(100); - virtio_rmb(vq->hw->weak_barriers); - /* now get used descriptors */ vq->vq_free_cnt += nb_descs; vq->vq_used_cons_idx += nb_descs; -- 2.29.2