From: Markus Stockhausen Date: Sun, 24 May 2026 08:48:26 +0000 (+0200) Subject: realtek: eth: Use right helper for SKB cleanup X-Git-Url: http://git.ipfire.org/gitweb/index.cgi?a=commitdiff_plain;h=b0e263a5ed4807c2a7c039cd951053fa638ef409;p=thirdparty%2Fopenwrt.git realtek: eth: Use right helper for SKB cleanup There are two helpers to cleanup SKBs that call iternally dev_kfree_skb_any_reason() but with different error codes. - dev_kfree_skb_any() reason SKB_DROP_REASON_NOT_SPECIFIED - dev_consume_skb_any() reason SKB_CONSUMED The driver does not distinct between the two. Change this and clean up a SKB that was handed over to the hardware with dev_consume_skb_any(). This way kernel knows that everything went well. Link: https://github.com/openwrt/openwrt/pull/23483 Signed-off-by: Markus Stockhausen --- diff --git a/target/linux/realtek/files-6.18/drivers/net/ethernet/rtl838x_eth.c b/target/linux/realtek/files-6.18/drivers/net/ethernet/rtl838x_eth.c index 017a59fdbea..15f44b51532 100644 --- a/target/linux/realtek/files-6.18/drivers/net/ethernet/rtl838x_eth.c +++ b/target/linux/realtek/files-6.18/drivers/net/ethernet/rtl838x_eth.c @@ -966,7 +966,7 @@ static int rteth_start_xmit(struct sk_buff *skb, struct net_device *dev) if (likely(packet->skb)) { /* cleanup old data of this slot */ dma_unmap_single(&ctrl->pdev->dev, packet->dma, packet->skb->len, DMA_TO_DEVICE); - dev_kfree_skb_any(packet->skb); + dev_consume_skb_any(packet->skb); } packet->dma = dma_map_single(&ctrl->pdev->dev, skb->data, len, DMA_TO_DEVICE);