<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">From e3c77d0a1b635d114c147fd2078afb57ed558b81 Mon Sep 17 00:00:00 2001
From: "Russell King (Oracle)" &lt;rmk+kernel@armlinux.org.uk&gt;
Date: Mon, 3 Apr 2023 19:30:25 +0100
Subject: [PATCH 2/5] net: mvneta: mark mapped and tso buffers separately

Mark dma-mapped skbs and TSO buffers separately, so we can use
buf-&gt;type to identify their differences.

Signed-off-by: Russell King (Oracle) &lt;rmk+kernel@armlinux.org.uk&gt;
---
 drivers/net/ethernet/marvell/mvneta.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

--- a/drivers/net/ethernet/marvell/mvneta.c
+++ b/drivers/net/ethernet/marvell/mvneta.c
@@ -607,6 +607,7 @@ struct mvneta_rx_desc {
 #endif
 
 enum mvneta_tx_buf_type {
+	MVNETA_TYPE_TSO,
 	MVNETA_TYPE_SKB,
 	MVNETA_TYPE_XDP_TX,
 	MVNETA_TYPE_XDP_NDO,
@@ -1852,7 +1853,8 @@ static void mvneta_txq_bufs_free(struct
 			dma_unmap_single(pp-&gt;dev-&gt;dev.parent,
 					 tx_desc-&gt;buf_phys_addr,
 					 tx_desc-&gt;data_size, DMA_TO_DEVICE);
-		if (buf-&gt;type == MVNETA_TYPE_SKB &amp;&amp; buf-&gt;skb) {
+		if ((buf-&gt;type == MVNETA_TYPE_TSO ||
+		     buf-&gt;type == MVNETA_TYPE_SKB) &amp;&amp; buf-&gt;skb) {
 			bytes_compl += buf-&gt;skb-&gt;len;
 			pkts_compl++;
 			dev_kfree_skb_any(buf-&gt;skb);
@@ -2607,7 +2609,7 @@ mvneta_tso_put_hdr(struct sk_buff *skb,
 	tx_desc-&gt;command |= MVNETA_TXD_F_DESC;
 	tx_desc-&gt;buf_phys_addr = txq-&gt;tso_hdrs_phys +
 				 txq-&gt;txq_put_index * TSO_HEADER_SIZE;
-	buf-&gt;type = MVNETA_TYPE_SKB;
+	buf-&gt;type = MVNETA_TYPE_TSO;
 	buf-&gt;skb = NULL;
 
 	mvneta_txq_inc_put(txq);
</pre></body></html>