linux-stable/drivers/media/platform
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
..
allegro-dvt media: allegro: Annotate struct mcu_msg_push_buffers_internal with __counted_by 2023-10-07 10:55:45 +02:00
amlogic
amphion media: videobuf2: core: Rename min_buffers_needed field in vb2_queue 2023-12-13 17:31:27 +01:00
aspeed media: videobuf2: core: Rename min_buffers_needed field in vb2_queue 2023-12-13 17:31:27 +01:00
atmel media: videobuf2: core: Rename min_buffers_needed field in vb2_queue 2023-12-13 17:31:27 +01:00
cadence media: v4l2-subdev: Rename .init_cfg() operation to .init_state() 2023-12-04 10:37:47 +01:00
chips-media media: chips-media: wave5: Remove K3 References 2024-01-24 17:27:51 +01:00
intel media: pxa_camera: Fix an error handling path in pxa_camera_probe() 2023-10-02 10:02:53 +02:00
marvell media: v4l: Use correct dependency for camera sensor drivers 2023-09-14 12:38:17 +02:00
mediatek media: platform: mtk-mdp3: Use devicetree phandle to retrieve SCP 2023-12-07 08:31:14 +01:00
microchip media: videobuf2: core: Rename min_buffers_needed field in vb2_queue 2023-12-13 17:31:27 +01:00
nuvoton media: videobuf2: core: Rename min_buffers_needed field in vb2_queue 2023-12-13 17:31:27 +01:00
nvidia media: vde: Use struct_size() 2023-11-23 13:33:38 +01:00
nxp media: videobuf2: core: Rename min_buffers_needed field in vb2_queue 2023-12-13 17:31:27 +01:00
qcom media: videobuf2: core: Rename min_buffers_needed field in vb2_queue 2023-12-13 17:31:27 +01:00
renesas media: videobuf2: core: Rename min_buffers_needed field in vb2_queue 2023-12-13 17:31:27 +01:00
rockchip media: rkisp1: Fix IRQ handling due to shared interrupts 2024-02-01 06:47:28 +01:00
samsung media: s5p-mfc: DPB Count Independent of VIDIOC_REQBUF 2023-12-13 14:33:49 +01:00
st media: videobuf2: core: Rename min_buffers_needed field in vb2_queue 2023-12-13 17:31:27 +01:00
sunxi media: videobuf2: core: Rename min_buffers_needed field in vb2_queue 2023-12-13 17:31:27 +01:00
ti media: videobuf2: core: Rename min_buffers_needed field in vb2_queue 2023-12-13 17:31:27 +01:00
verisilicon media: verisilicon: Hook the (TRY_)DECODER_CMD stateless ioctls 2023-11-23 13:57:20 +01:00
via media: via: Use correct dependency for camera sensor drivers 2023-09-14 12:38:17 +02:00
xilinx media: v4l2-subdev: Rename .init_cfg() operation to .init_state() 2023-12-04 10:37:47 +01:00
Kconfig media: nuvoton: Add driver for NPCM video capture and encoding engine 2023-09-27 09:40:02 +02:00
m2m-deinterlace.c
Makefile media: nuvoton: Add driver for NPCM video capture and encoding engine 2023-09-27 09:40:02 +02:00
video-mux.c media: v4l2-subdev: Rename .init_cfg() operation to .init_state() 2023-12-04 10:37:47 +01:00