aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi/cppc_acpi.c
diff options
context:
space:
mode:
authorSamuel Holland <[email protected]>2024-05-29 21:54:56 +0000
committerThomas Gleixner <[email protected]>2024-06-03 11:53:12 +0000
commite306a894bd511804ba9db7c00ca9cc05b55df1f2 (patch)
treed12fab36ac185f390bb5637dc2308a62e3cbcd5b /drivers/acpi/cppc_acpi.c
parentirqchip/riscv-intc: Prevent memory leak when riscv_intc_init_common() fails (diff)
downloadkernel-e306a894bd511804ba9db7c00ca9cc05b55df1f2.tar.gz
kernel-e306a894bd511804ba9db7c00ca9cc05b55df1f2.zip
irqchip/sifive-plic: Chain to parent IRQ after handlers are ready
Now that the PLIC uses a platform driver, the driver is probed later in the boot process, where interrupts from peripherals might already be pending. As a result, plic_handle_irq() may be called as early as the call to irq_set_chained_handler() completes. But this call happens before the per-context handler is completely set up, so there is a window where plic_handle_irq() can see incomplete per-context state and crash. Avoid this by delaying the call to irq_set_chained_handler() until all handlers from all PLICs are initialized. Fixes: 8ec99b033147 ("irqchip/sifive-plic: Convert PLIC driver into a platform driver") Reported-by: Geert Uytterhoeven <[email protected]> Signed-off-by: Samuel Holland <[email protected]> Signed-off-by: Thomas Gleixner <[email protected]> Tested-by: Geert Uytterhoeven <[email protected]> Reviewed-by: Anup Patel <[email protected]> Cc: [email protected] Link: https://lore.kernel.org/r/[email protected] Closes: https://lore.kernel.org/r/CAMuHMdVYFFR7K5SbHBLY-JHhb7YpgGMS_hnRWm8H0KD-wBo+4A@mail.gmail.com/
Diffstat (limited to 'drivers/acpi/cppc_acpi.c')
0 files changed, 0 insertions, 0 deletions