From: Christian Marangi Date: Tue, 18 Nov 2025 11:50:50 +0000 (+0100) Subject: airoha: backport patch fixing offload support with GDM2 present X-Git-Url: http://git.openwrt.org/?a=commitdiff_plain;h=b7aa0aa9bf603c01500f791df4636b35434c6224;p=openwrt%2Fopenwrt.git airoha: backport patch fixing offload support with GDM2 present Backport upstream patch fixing offload support in the presence of GDM2 interface. Signed-off-by: Christian Marangi --- diff --git a/target/linux/airoha/patches-6.12/110-v6.19-net-airoha-Do-not-loopback-traffic-to-GDM2-if-it-is-.patch b/target/linux/airoha/patches-6.12/110-v6.19-net-airoha-Do-not-loopback-traffic-to-GDM2-if-it-is-.patch new file mode 100644 index 0000000000..526243eed2 --- /dev/null +++ b/target/linux/airoha/patches-6.12/110-v6.19-net-airoha-Do-not-loopback-traffic-to-GDM2-if-it-is-.patch @@ -0,0 +1,31 @@ +From 8e0a754b0836d996802713bbebc87bc1cc17925c Mon Sep 17 00:00:00 2001 +From: Lorenzo Bianconi +Date: Thu, 13 Nov 2025 18:19:38 +0100 +Subject: [PATCH] net: airoha: Do not loopback traffic to GDM2 if it is + available on the device + +Airoha_eth driver forwards offloaded uplink traffic (packets received +on GDM1 and forwarded to GDM{3,4}) to GDM2 in order to apply hw QoS. +This is correct if the device does not support a dedicated GDM2 port. +In this case, in order to enable hw offloading for uplink traffic, +the packets should be sent to GDM{3,4} directly. + +Fixes: 9cd451d414f6 ("net: airoha: Add loopback support for GDM2") +Signed-off-by: Lorenzo Bianconi +Link: https://patch.msgid.link/20251113-airoha-hw-offload-gdm2-fix-v1-1-7e4ca300872f@kernel.org +Signed-off-by: Jakub Kicinski +--- + drivers/net/ethernet/airoha/airoha_ppe.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/net/ethernet/airoha/airoha_ppe.c ++++ b/drivers/net/ethernet/airoha/airoha_ppe.c +@@ -308,7 +308,7 @@ static int airoha_ppe_foe_entry_prepare( + if (!airoha_is_valid_gdm_port(eth, port)) + return -EINVAL; + +- if (dsa_port >= 0) ++ if (dsa_port >= 0 || eth->ports[1]) + pse_port = port->id == 4 ? FE_PSE_PORT_GDM4 + : port->id; + else