While freeing tx buffers the memory has to be unmapped if the packet was
an skb or was used for .ndo_xdp_xmit using the same arguments. Get rid
of the unneeded extra 'else if' statement

Signed-off-by: Ilias Apalodimas <ilias.apalodi...@linaro.org>
---
 drivers/net/ethernet/socionext/netsec.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/socionext/netsec.c 
b/drivers/net/ethernet/socionext/netsec.c
index c3a4f86f56ee..7f9280f1fb28 100644
--- a/drivers/net/ethernet/socionext/netsec.c
+++ b/drivers/net/ethernet/socionext/netsec.c
@@ -654,12 +654,12 @@ static bool netsec_clean_tx_dring(struct netsec_priv 
*priv)
                eop = (entry->attr >> NETSEC_TX_LAST) & 1;
                dma_rmb();
 
-               if (desc->buf_type == TYPE_NETSEC_SKB)
+               /* if buf_type is either TYPE_NETSEC_SKB or
+                * TYPE_NETSEC_XDP_NDO we mapped it
+                */
+               if (desc->buf_type != TYPE_NETSEC_XDP_TX)
                        dma_unmap_single(priv->dev, desc->dma_addr, desc->len,
                                         DMA_TO_DEVICE);
-               else if (desc->buf_type == TYPE_NETSEC_XDP_NDO)
-                       dma_unmap_single(priv->dev, desc->dma_addr,
-                                        desc->len, DMA_TO_DEVICE);
 
                if (!eop)
                        goto next;
-- 
2.20.1

Reply via email to