net: enetc: drop redundant enetc_free_tx_frame() call from enetc_free_txbdr()
authorVladimir Oltean <vladimir.oltean@nxp.com>
Tue, 17 Jan 2023 23:02:27 +0000 (01:02 +0200)
committerJakub Kicinski <kuba@kernel.org>
Thu, 19 Jan 2023 04:52:25 +0000 (20:52 -0800)
The call path in enetc_close() is:

enetc_close()
-> enetc_free_rxtx_rings()
   -> enetc_free_tx_ring()
      -> enetc_free_tx_frame()
-> enetc_free_tx_resources()
   -> enetc_free_txbdr()
      -> enetc_free_tx_frame()

The enetc_free_tx_frame() function is written such that the second call
exits without doing anything, but nonetheless, it is completely
redundant. Delete it. This makes the TX teardown path more similar to
the RX one, where rx_swbd freeing is done in enetc_free_rx_ring(), not
in enetc_free_rxbdr().

Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/freescale/enetc/enetc.c

index f41a02c..9458049 100644 (file)
@@ -1773,11 +1773,6 @@ err_alloc_bdr:
 
 static void enetc_free_txbdr(struct enetc_bdr *txr)
 {
-       int i;
-
-       for (i = 0; i < txr->bd_count; i++)
-               enetc_free_tx_frame(txr, &txr->tx_swbd[i]);
-
        dma_free_coherent(txr->dev, txr->bd_count * TSO_HEADER_SIZE,
                          txr->tso_headers, txr->tso_headers_dma);
        txr->tso_headers = NULL;