Or we might miss the fact that a page was allocated from memory reserves.

Fixes: dceeab0e5258 ("mlx4: support __GFP_MEMALLOC for rx")
Signed-off-by: Eric Dumazet <eduma...@google.com>
---
 drivers/net/ethernet/mellanox/mlx4/en_rx.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/mellanox/mlx4/en_rx.c 
b/drivers/net/ethernet/mellanox/mlx4/en_rx.c
index 
d85e6446f9d99e38c75b97d7fba29bd057e0..867292880c07a15124a0cf099d1fcda09926 
100644
--- a/drivers/net/ethernet/mellanox/mlx4/en_rx.c
+++ b/drivers/net/ethernet/mellanox/mlx4/en_rx.c
@@ -604,10 +604,10 @@ static int mlx4_en_complete_rx_desc(struct mlx4_en_priv 
*priv,
                dma_sync_single_for_cpu(priv->ddev, dma, frag_info->frag_size,
                                        DMA_FROM_DEVICE);
 
-               /* Save page reference in skb */
-               __skb_frag_set_page(&skb_frags_rx[nr], frags[nr].page);
-               skb_frag_size_set(&skb_frags_rx[nr], frag_info->frag_size);
-               skb_frags_rx[nr].page_offset = frags[nr].page_offset;
+               __skb_fill_page_desc(skb, nr, frags[nr].page,
+                                    frags[nr].page_offset,
+                                    frag_info->frag_size);
+
                skb->truesize += frag_info->frag_stride;
                frags[nr].page = NULL;
        }
-- 
2.11.0.483.g087da7b7c-goog

Reply via email to