linux-stable/drivers/media/platform/rockchip
Tomi Valkeinen ffb635bb39 media: rkisp1: Fix IRQ handling due to shared interrupts
The driver requests the interrupts as IRQF_SHARED, so the interrupt
handlers can be called at any time. If such a call happens while the ISP
is powered down, the SoC will hang as the driver tries to access the
ISP registers.

This can be reproduced even without the platform sharing the IRQ line:
Enable CONFIG_DEBUG_SHIRQ and unload the driver, and the board will
hang.

Fix this by adding a new field, 'irqs_enabled', which is used to bail
out from the interrupt handler when the ISP is not operational.

Link: https://lore.kernel.org/r/20231218-rkisp-shirq-fix-v1-2-173007628248@ideasonboard.com

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
2024-02-01 06:47:28 +01:00
..
rga media: rockchip: rga: add NV12M support 2023-12-07 08:56:14 +01:00
rkisp1 media: rkisp1: Fix IRQ handling due to shared interrupts 2024-02-01 06:47:28 +01:00
Kconfig media: platform/*/Kconfig: make manufacturer menus more uniform 2022-03-18 05:58:35 +01:00
Makefile media: platform: Create vendor/{Makefile,Kconfig} files 2022-03-18 05:58:35 +01:00