Signed-off-by: Jesper Dangaard Brouer <bro...@redhat.com>
---
 drivers/net/ethernet/intel/i40e/i40e_txrx.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_txrx.c 
b/drivers/net/ethernet/intel/i40e/i40e_txrx.c
index c0451d6e0790..03c1446f0465 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_txrx.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_txrx.c
@@ -3685,7 +3685,7 @@ int i40e_xdp_xmit(struct net_device *dev, int n, struct 
xdp_frame **frames,
        if (!i40e_enabled_xdp_vsi(vsi) || queue_index >= vsi->num_queue_pairs)
                return -ENXIO;
 
-       if (unlikely(flags & ~XDP_XMIT_FLAGS_NONE))
+       if (unlikely(flags & ~XDP_XMIT_FLAGS_MASK))
                return -EINVAL;
 
        for (i = 0; i < n; i++) {
@@ -3699,6 +3699,9 @@ int i40e_xdp_xmit(struct net_device *dev, int n, struct 
xdp_frame **frames,
                }
        }
 
+       if (unlikely(flags & XDP_XMIT_FLUSH))
+               i40e_xdp_ring_update_tail(vsi->xdp_rings[queue_index]);
+
        return n - drops;
 }
 

Reply via email to