Commit 6b8fed2675fb for kernel

commit 6b8fed2675fb75d23e6cf2b7e49c94926e884b34
Author: Lorenzo Bianconi <lorenzo.bianconi@oss.qualcomm.com>
Date:   Mon Aug 31 19:06:38 2026 +0200

    net: stmmac: reconfigure RX packet parser table in stmmac_hw_setup() after reset

    The core software reset issued in stmmac_init_dma_engine() during
    ndo_open() callback clears the MTL RX packet parser registers, but
    stmmac_rxp_config() is only invoked from the cls_u32 add/delete paths.
    After an ifdown/ifup cycle the hardware therefore runs with the default
    all-pass table while priv->tc_entries still reports the filters as
    installed. Re-apply the RX packet parser table from priv->tc_entries in
    stmmac_hw_setup(), right after the software reset, so the filters are
    restored when the interface is brought up again.

    Fixes: 4dbbe8dde848 ("net: stmmac: Add support for U32 TC filter using Flexible RX Parser")
    Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@oss.qualcomm.com>
    Link: https://patch.msgid.link/20260831-stmmac_tc_cls32_reconfigure-v1-1-21cb459e64ae@oss.qualcomm.com
    Signed-off-by: Paolo Abeni <pabeni@redhat.com>

diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
index d576059c04df..24656b35350b 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
@@ -3676,6 +3676,14 @@ static int stmmac_hw_setup(struct net_device *dev)
 	/* Initialize MTL*/
 	stmmac_mtl_configuration(priv);

+	/* Apply the RX packet parser table */
+	if (priv->tc_entries) {
+		ret = stmmac_rxp_config(priv, priv->hw->pcsr, priv->tc_entries,
+					priv->tc_entries_max);
+		if (ret)
+			return ret;
+	}
+
 	/* Initialize Safety Features */
 	stmmac_safety_feat_configuration(priv);