From 01df4a2565dd3d9bd7cd8e87ee72b6082369a7a1 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Thu, 12 Jul 2018 17:18:37 +0200 Subject: [PATCH] ramips: ethernet: use skb_free_frag to free fragments Signed-off-by: Felix Fietkau --- .../files-4.14/drivers/net/ethernet/mediatek/mtk_eth_soc.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/target/linux/ramips/files-4.14/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/target/linux/ramips/files-4.14/drivers/net/ethernet/mediatek/mtk_eth_soc.c index e68ca204ed..8dcc17774b 100644 --- a/target/linux/ramips/files-4.14/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/target/linux/ramips/files-4.14/drivers/net/ethernet/mediatek/mtk_eth_soc.c @@ -230,7 +230,7 @@ static void fe_clean_rx(struct fe_priv *priv) ring->rx_dma[i].rxd1, ring->rx_buf_size, DMA_FROM_DEVICE); - put_page(virt_to_head_page(ring->rx_data[i])); + skb_free_frag(ring->rx_data[i]); } kfree(ring->rx_data); @@ -891,14 +891,14 @@ static int fe_poll_rx(struct napi_struct *napi, int budget, ring->rx_buf_size, DMA_FROM_DEVICE); if (unlikely(dma_mapping_error(&netdev->dev, dma_addr))) { - put_page(virt_to_head_page(new_data)); + skb_free_frag(new_data); goto release_desc; } /* receive data */ skb = build_skb(data, ring->frag_size); if (unlikely(!skb)) { - put_page(virt_to_head_page(new_data)); + skb_free_frag(new_data); goto release_desc; } skb_reserve(skb, NET_SKB_PAD + NET_IP_ALIGN); -- 2.30.2