diff options
| -rw-r--r-- | drivers/net/ethernet/mellanox/mlx5/core/en.h | 2 | ||||
| -rw-r--r-- | drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c | 6 | 
2 files changed, 4 insertions, 4 deletions
| diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en.h b/drivers/net/ethernet/mellanox/mlx5/core/en.h index 8b37264ba107..a3700c57b073 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en.h +++ b/drivers/net/ethernet/mellanox/mlx5/core/en.h @@ -428,7 +428,6 @@ struct mlx5e_xdpsq {  	/* dirtied @completion */  	u32                        xdpi_fifo_cc;  	u16                        cc; -	bool                       redirect_flush;  	/* dirtied @xmit */  	u32                        xdpi_fifo_pc ____cacheline_aligned_in_smp; @@ -532,6 +531,7 @@ typedef void (*mlx5e_fp_dealloc_wqe)(struct mlx5e_rq*, u16);  enum mlx5e_rq_flag {  	MLX5E_RQ_FLAG_XDP_XMIT, +	MLX5E_RQ_FLAG_XDP_REDIRECT,  };  struct mlx5e_rq_frag_info { diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c b/drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c index 03b2a9f9c589..9e7ed599ae0a 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c @@ -85,7 +85,7 @@ bool mlx5e_xdp_handle(struct mlx5e_rq *rq, struct mlx5e_dma_info *di,  		if (unlikely(err))  			goto xdp_abort;  		__set_bit(MLX5E_RQ_FLAG_XDP_XMIT, rq->flags); -		rq->xdpsq.redirect_flush = true; +		__set_bit(MLX5E_RQ_FLAG_XDP_REDIRECT, rq->flags);  		mlx5e_page_dma_unmap(rq, di);  		rq->stats->xdp_redirect++;  		return true; @@ -419,9 +419,9 @@ void mlx5e_xdp_rx_poll_complete(struct mlx5e_rq *rq)  	mlx5e_xmit_xdp_doorbell(xdpsq); -	if (xdpsq->redirect_flush) { +	if (test_bit(MLX5E_RQ_FLAG_XDP_REDIRECT, rq->flags)) {  		xdp_do_flush_map(); -		xdpsq->redirect_flush = false; +		__clear_bit(MLX5E_RQ_FLAG_XDP_REDIRECT, rq->flags);  	}  } |