This is a note to let you know that I've just added the patch titled Revert "r8169: don't try to disable interrupts if NAPI is, scheduled already" to the 6.8-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: revert-r8169-don-t-try-to-disable-interrupts-if-napi-is-scheduled-already.patch and it can be found in the queue-6.8 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From eabb8a9be1e4a12f3bf37ceb7411083e3775672d Mon Sep 17 00:00:00 2001 From: Heiner Kallweit <hkallweit1@xxxxxxxxx> Date: Wed, 15 May 2024 08:18:01 +0200 Subject: Revert "r8169: don't try to disable interrupts if NAPI is, scheduled already" From: Heiner Kallweit <hkallweit1@xxxxxxxxx> commit eabb8a9be1e4a12f3bf37ceb7411083e3775672d upstream. This reverts commit 7274c4147afbf46f45b8501edbdad6da8cd013b9. Ken reported that RTL8125b can lock up if gro_flush_timeout has the default value of 20000 and napi_defer_hard_irqs is set to 0. In this scenario device interrupts aren't disabled, what seems to trigger some silicon bug under heavy load. I was able to reproduce this behavior on RTL8168h. Fix this by reverting 7274c4147afb. Fixes: 7274c4147afb ("r8169: don't try to disable interrupts if NAPI is scheduled already") Cc: stable@xxxxxxxxxxxxxxx Reported-by: Ken Milmore <ken.milmore@xxxxxxxxx> Signed-off-by: Heiner Kallweit <hkallweit1@xxxxxxxxx> Reviewed-by: Eric Dumazet <edumazet@xxxxxxxxxx> Link: https://lore.kernel.org/r/9b5b6f4c-4f54-4b90-b0b3-8d8023c2e780@xxxxxxxxx Signed-off-by: Paolo Abeni <pabeni@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/net/ethernet/realtek/r8169_main.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) --- a/drivers/net/ethernet/realtek/r8169_main.c +++ b/drivers/net/ethernet/realtek/r8169_main.c @@ -4541,10 +4541,8 @@ static irqreturn_t rtl8169_interrupt(int rtl_schedule_task(tp, RTL_FLAG_TASK_RESET_PENDING); } - if (napi_schedule_prep(&tp->napi)) { - rtl_irq_disable(tp); - __napi_schedule(&tp->napi); - } + rtl_irq_disable(tp); + napi_schedule(&tp->napi); out: rtl_ack_events(tp, status); Patches currently in stable-queue which might be from hkallweit1@xxxxxxxxx are queue-6.8/r8169-fix-possible-ring-buffer-corruption-on-fragmented-tx-packets.patch queue-6.8/revert-r8169-don-t-try-to-disable-interrupts-if-napi-is-scheduled-already.patch