mirror of https://github.com/hak5/openwrt.git
ramips: ethernet: use skb_free_frag to free fragments
Signed-off-by: Felix Fietkau <nbd@nbd.name>openwrt-18.06
parent
514a4b3e1b
commit
0e6cfb6919
|
@ -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);
|
||||
|
@ -856,14 +856,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);
|
||||
|
|
Loading…
Reference in New Issue