mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-04 06:54:27 -05:00 
			
		
		
		
	Backport Russell King's series [1] net: mvneta: reduce size of TSO header allocation to pending-5.15 to fix random crashes on Turris Omnia. This also backports two patches that are dependencies to this series: net: mvneta: Delete unused variable net: mvneta: fix potential double-frees in mvneta_txq_sw_deinit() [1] https://lore.kernel.org/netdev/ZCsbJ4nG+So%2Fn9qY@shell.armlinux.org.uk/ Signed-off-by: Marek Behún <kabel@kernel.org> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> (squashed)
		
			
				
	
	
		
			63 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From 43ed6fff01333868a1d0e19876f67c22d9939952 Mon Sep 17 00:00:00 2001
 | 
						|
From: Yuval Shaia <yshaia@marvell.com>
 | 
						|
Date: Wed, 13 Oct 2021 09:49:21 +0300
 | 
						|
Subject: [PATCH] net: mvneta: Delete unused variable
 | 
						|
 | 
						|
The variable pp is not in use - delete it.
 | 
						|
 | 
						|
Signed-off-by: Yuval Shaia <yshaia@marvell.com>
 | 
						|
Link: https://lore.kernel.org/r/20211013064921.26346-1-yshaia@marvell.com
 | 
						|
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
 | 
						|
---
 | 
						|
 drivers/net/ethernet/marvell/mvneta.c | 11 +++++------
 | 
						|
 1 file changed, 5 insertions(+), 6 deletions(-)
 | 
						|
 | 
						|
--- a/drivers/net/ethernet/marvell/mvneta.c
 | 
						|
+++ b/drivers/net/ethernet/marvell/mvneta.c
 | 
						|
@@ -1914,7 +1914,7 @@ static int mvneta_rx_refill(struct mvnet
 | 
						|
 }
 | 
						|
 
 | 
						|
 /* Handle tx checksum */
 | 
						|
-static u32 mvneta_skb_tx_csum(struct mvneta_port *pp, struct sk_buff *skb)
 | 
						|
+static u32 mvneta_skb_tx_csum(struct sk_buff *skb)
 | 
						|
 {
 | 
						|
 	if (skb->ip_summed == CHECKSUM_PARTIAL) {
 | 
						|
 		int ip_hdr_len = 0;
 | 
						|
@@ -2595,8 +2595,7 @@ err_drop_frame:
 | 
						|
 }
 | 
						|
 
 | 
						|
 static inline void
 | 
						|
-mvneta_tso_put_hdr(struct sk_buff *skb,
 | 
						|
-		   struct mvneta_port *pp, struct mvneta_tx_queue *txq)
 | 
						|
+mvneta_tso_put_hdr(struct sk_buff *skb, struct mvneta_tx_queue *txq)
 | 
						|
 {
 | 
						|
 	int hdr_len = skb_transport_offset(skb) + tcp_hdrlen(skb);
 | 
						|
 	struct mvneta_tx_buf *buf = &txq->buf[txq->txq_put_index];
 | 
						|
@@ -2604,7 +2603,7 @@ mvneta_tso_put_hdr(struct sk_buff *skb,
 | 
						|
 
 | 
						|
 	tx_desc = mvneta_txq_next_desc_get(txq);
 | 
						|
 	tx_desc->data_size = hdr_len;
 | 
						|
-	tx_desc->command = mvneta_skb_tx_csum(pp, skb);
 | 
						|
+	tx_desc->command = mvneta_skb_tx_csum(skb);
 | 
						|
 	tx_desc->command |= MVNETA_TXD_F_DESC;
 | 
						|
 	tx_desc->buf_phys_addr = txq->tso_hdrs_phys +
 | 
						|
 				 txq->txq_put_index * TSO_HEADER_SIZE;
 | 
						|
@@ -2681,7 +2680,7 @@ static int mvneta_tx_tso(struct sk_buff
 | 
						|
 		hdr = txq->tso_hdrs + txq->txq_put_index * TSO_HEADER_SIZE;
 | 
						|
 		tso_build_hdr(skb, hdr, &tso, data_left, total_len == 0);
 | 
						|
 
 | 
						|
-		mvneta_tso_put_hdr(skb, pp, txq);
 | 
						|
+		mvneta_tso_put_hdr(skb, txq);
 | 
						|
 
 | 
						|
 		while (data_left > 0) {
 | 
						|
 			int size;
 | 
						|
@@ -2799,7 +2798,7 @@ static netdev_tx_t mvneta_tx(struct sk_b
 | 
						|
 	/* Get a descriptor for the first part of the packet */
 | 
						|
 	tx_desc = mvneta_txq_next_desc_get(txq);
 | 
						|
 
 | 
						|
-	tx_cmd = mvneta_skb_tx_csum(pp, skb);
 | 
						|
+	tx_cmd = mvneta_skb_tx_csum(skb);
 | 
						|
 
 | 
						|
 	tx_desc->data_size = skb_headlen(skb);
 | 
						|
 
 |