openwrt/target/linux/generic/pending-5.15/736-05-net-ethernet-mtk_eth_soc-add-missing-ppe-cache-flush.patch
Felix Fietkau 95cae498b6 kernel: fix mtk flow offload list corruption issue with l2 flows
The same node was accidentally used for two different lists, causing an
invalid pointer chain.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-03-25 11:58:59 +01:00

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;