kernel: fix mtk_eth_soc handling of fraglist packets without GSO_FRAGLIST

Fixes tx hangs when disabling rx fraglist GRO

Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
Felix Fietkau
2025-11-12 11:07:17 +00:00
parent ba041eb451
commit 0ad0955214
9 changed files with 86 additions and 79 deletions

View File

@@ -37,7 +37,7 @@ Signed-off-by: Bo-Cun Chen <bc-bocun.chen@mediatek.com>
.glo_cfg = 0x4604,
.rst_idx = 0x4608,
.delay_irq = 0x460c,
@@ -4053,6 +4056,56 @@ static void mtk_set_mcr_max_rx(struct mt
@@ -4060,6 +4063,56 @@ static void mtk_set_mcr_max_rx(struct mt
mtk_w32(mac->hw, mcr_new, MTK_MAC_MCR(mac->id));
}
@@ -94,7 +94,7 @@ Signed-off-by: Bo-Cun Chen <bc-bocun.chen@mediatek.com>
static void mtk_hw_reset(struct mtk_eth *eth)
{
u32 val;
@@ -4532,6 +4585,8 @@ static void mtk_pending_work(struct work
@@ -4539,6 +4592,8 @@ static void mtk_pending_work(struct work
rtnl_lock();
set_bit(MTK_RESETTING, &eth->state);