diff options
-rw-r--r-- | drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.h | 10 | ||||
-rw-r--r-- | drivers/net/ethernet/mellanox/mlx5/core/en_rx.c | 8 |
2 files changed, 5 insertions, 13 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.h b/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.h index 53a833c9b09e..e702cb790476 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.h +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.h @@ -18,16 +18,6 @@ struct sk_buff *mlx5e_xsk_skb_from_cqe_linear(struct mlx5e_rq *rq, struct mlx5e_wqe_frag_info *wi, u32 cqe_bcnt); -static inline int mlx5e_xsk_page_alloc_pool(struct mlx5e_rq *rq, - union mlx5e_alloc_unit *au) -{ - au->xsk = xsk_buff_alloc(rq->xsk_pool); - if (!au->xsk) - return -ENOMEM; - - return 0; -} - static inline bool mlx5e_xsk_update_rx_wakeup(struct mlx5e_rq *rq, bool alloc_err) { if (!xsk_uses_need_wakeup(rq->xsk_pool)) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_rx.c b/drivers/net/ethernet/mellanox/mlx5/core/en_rx.c index 0d0064d66c09..72d74de3ee99 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_rx.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_rx.c @@ -302,10 +302,12 @@ static inline int mlx5e_page_alloc_pool(struct mlx5e_rq *rq, union mlx5e_alloc_u static inline int mlx5e_page_alloc(struct mlx5e_rq *rq, union mlx5e_alloc_unit *au) { - if (rq->xsk_pool) - return mlx5e_xsk_page_alloc_pool(rq, au); - else + if (rq->xsk_pool) { + au->xsk = xsk_buff_alloc(rq->xsk_pool); + return likely(au->xsk) ? 0 : -ENOMEM; + } else { return mlx5e_page_alloc_pool(rq, au); + } } void mlx5e_page_dma_unmap(struct mlx5e_rq *rq, struct page *page) |