Skip to content

Commit 2dcc934

Browse files
WeiFang-NXPPaolo Abeni
authored andcommitted
net: fec: remove unnecessary NULL pointer check when clearing TX BD ring
The tx_buf pointer will not NULL when its type is FEC_TXBUF_T_XDP_NDO or FEC_TXBUF_T_XDP_TX. If the type is FEC_TXBUF_T_SKB, dev_kfree_skb_any() will do NULL pointer check. So it is unnecessary to do NULL pointer check in fec_enet_bd_init() and fec_enet_tx_queue(). Signed-off-by: Wei Fang <wei.fang@nxp.com> Reviewed-by: Frank Li <Frank.Li@nxp.com> Link: https://patch.msgid.link/20260205085742.2685134-10-wei.fang@nxp.com Signed-off-by: Paolo Abeni <pabeni@redhat.com>
1 parent 2ff7a7d commit 2dcc934

1 file changed

Lines changed: 12 additions & 23 deletions

File tree

drivers/net/ethernet/freescale/fec_main.c

Lines changed: 12 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1032,24 +1032,19 @@ static void fec_enet_bd_init(struct net_device *dev)
10321032
fec32_to_cpu(bdp->cbd_bufaddr),
10331033
fec16_to_cpu(bdp->cbd_datlen),
10341034
DMA_TO_DEVICE);
1035-
if (txq->tx_buf[i].buf_p)
1036-
dev_kfree_skb_any(txq->tx_buf[i].buf_p);
1035+
dev_kfree_skb_any(txq->tx_buf[i].buf_p);
10371036
} else if (txq->tx_buf[i].type == FEC_TXBUF_T_XDP_NDO) {
1038-
if (bdp->cbd_bufaddr)
1039-
dma_unmap_single(&fep->pdev->dev,
1040-
fec32_to_cpu(bdp->cbd_bufaddr),
1041-
fec16_to_cpu(bdp->cbd_datlen),
1042-
DMA_TO_DEVICE);
1037+
dma_unmap_single(&fep->pdev->dev,
1038+
fec32_to_cpu(bdp->cbd_bufaddr),
1039+
fec16_to_cpu(bdp->cbd_datlen),
1040+
DMA_TO_DEVICE);
10431041

1044-
if (txq->tx_buf[i].buf_p)
1045-
xdp_return_frame(txq->tx_buf[i].buf_p);
1042+
xdp_return_frame(txq->tx_buf[i].buf_p);
10461043
} else {
10471044
struct page *page = txq->tx_buf[i].buf_p;
10481045

1049-
if (page)
1050-
page_pool_put_page(pp_page_to_nmdesc(page)->pp,
1051-
page, 0,
1052-
false);
1046+
page_pool_put_page(pp_page_to_nmdesc(page)->pp,
1047+
page, 0, false);
10531048
}
10541049

10551050
txq->tx_buf[i].buf_p = NULL;
@@ -1538,21 +1533,15 @@ fec_enet_tx_queue(struct net_device *ndev, u16 queue_id, int budget)
15381533

15391534
if (txq->tx_buf[index].type == FEC_TXBUF_T_XDP_NDO) {
15401535
xdpf = txq->tx_buf[index].buf_p;
1541-
if (bdp->cbd_bufaddr)
1542-
dma_unmap_single(&fep->pdev->dev,
1543-
fec32_to_cpu(bdp->cbd_bufaddr),
1544-
fec16_to_cpu(bdp->cbd_datlen),
1545-
DMA_TO_DEVICE);
1536+
dma_unmap_single(&fep->pdev->dev,
1537+
fec32_to_cpu(bdp->cbd_bufaddr),
1538+
fec16_to_cpu(bdp->cbd_datlen),
1539+
DMA_TO_DEVICE);
15461540
} else {
15471541
page = txq->tx_buf[index].buf_p;
15481542
}
15491543

15501544
bdp->cbd_bufaddr = cpu_to_fec32(0);
1551-
if (unlikely(!txq->tx_buf[index].buf_p)) {
1552-
txq->tx_buf[index].type = FEC_TXBUF_T_SKB;
1553-
goto tx_buf_done;
1554-
}
1555-
15561545
frame_len = fec16_to_cpu(bdp->cbd_datlen);
15571546
}
15581547

0 commit comments

Comments
 (0)