]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
irqchip/sifive-plic: Fix call to __plic_toggle() in M-Mode code path
authorCharles Mirabile <cmirabil@redhat.com>
Mon, 3 Nov 2025 16:18:13 +0000 (11:18 -0500)
committerThomas Gleixner <tglx@linutronix.de>
Tue, 11 Nov 2025 21:11:16 +0000 (22:11 +0100)
commita045359e72455c4fd178fbedbf398f8df7da97e7
tree392e77c958174bcc96d637042056dfee67b91e3a
parent539d147ef69c3e2f9817de0fcf1dc8ba12938909
irqchip/sifive-plic: Fix call to __plic_toggle() in M-Mode code path

The code path for M-Mode linux that disables interrupts for other contexts
was missed when refactoring __plic_toggle().

Since the new version caches updates to the state for the primary context,
its use in this codepath is no longer desireable even if it could be made
correct.

Replace the calls to __plic_toggle() with a loop that simply disables all
of the interrupts in groups of 32 with a direct mmio write.

Fixes: 14ff9e54dd14 ("irqchip/sifive-plic: Cache the interrupt enable state")
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Charles Mirabile <cmirabil@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://patch.msgid.link/20251103161813.2437427-1-cmirabil@redhat.com
Closes: https://lore.kernel.org/oe-kbuild-all/202510271316.AQM7gCCy-lkp@intel.com/
drivers/irqchip/irq-sifive-plic.c