The same node was accidentally used for two different lists, causing an invalid pointer chain. Signed-off-by: Felix Fietkau <nbd@nbd.name>
		
			
				
	
	
		
			22 lines
		
	
	
		
			646 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			646 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
From: Felix Fietkau <nbd@nbd.name>
 | 
						|
Date: Thu, 23 Mar 2023 11:19:14 +0100
 | 
						|
Subject: [PATCH] net: ethernet: mtk_eth_soc: add missing ppe cache flush when
 | 
						|
 deleting a flow
 | 
						|
 | 
						|
The cache needs to be flushed to ensure that the hardware stops offloading
 | 
						|
the flow immediately.
 | 
						|
 | 
						|
Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
						|
---
 | 
						|
 | 
						|
--- a/drivers/net/ethernet/mediatek/mtk_ppe.c
 | 
						|
+++ b/drivers/net/ethernet/mediatek/mtk_ppe.c
 | 
						|
@@ -523,6 +523,7 @@ __mtk_foe_entry_clear(struct mtk_ppe *pp
 | 
						|
 		hwe->ib1 &= ~MTK_FOE_IB1_STATE;
 | 
						|
 		hwe->ib1 |= FIELD_PREP(MTK_FOE_IB1_STATE, MTK_FOE_STATE_INVALID);
 | 
						|
 		dma_wmb();
 | 
						|
+		mtk_ppe_cache_clear(ppe);
 | 
						|
 	}
 | 
						|
 	entry->hash = 0xffff;
 | 
						|
 
 |