mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-21 14:37:57 +00:00
95cae498b6
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;
|
|
|