This patch aims to fix idle routine while the CPU receive an interrupt, because __r4k_wait() only checks if TIF_NEED_RESCHED is set before going to sleep. The same behavior has been changed in LoongArch [1]. Code (cross) compiled successfully and I manage to test it on a VM emulating a malta board. I ran QEMU with: qemu-system-mips64el -M malta -m 2G -kernel vmlinux -serial stdio -drive \ file=rootfs.ext2,format=raw -append "rootwait root=/dev/sda" -cpu 5Kc rootfs generated using buildroot (malta default configuration). - [1] https://github.com/chenhuacai/linux/commit/a8aa673ea46c03b3f62992ffa4ffe810ac84f6e3 Changes in v2: - Changes introduced by Huacai: https://lore.kernel.org/linux-mips/20250214105047.150835-1-marco.crivellari@xxxxxxxx/T/#m75d9c587829e15e0d7baec13078be4e65c936408 Marco Crivellari (1): MIPS: Fix idle VS timer enqueue arch/mips/kernel/genex.S | 39 +++++++++++++++++++++------------------ arch/mips/kernel/idle.c | 1 - 2 files changed, 21 insertions(+), 19 deletions(-) -- 2.48.1