linux/drivers/gpu/drm/vc4
Maxime Ripard 32a19de21a
drm/vc4: hdmi: Drop devm interrupt handler for CEC interrupts
The CEC interrupt handlers are registered through the
devm_request_threaded_irq function. However, while free_irq is indeed
called properly when the device is unbound or bind fails, it's called
after unbind or bind is done.

In our particular case, it means that on failure it creates a window
where our interrupt handler can be called, but we're freeing every
resource (CEC adapter, DRM objects, etc.) it might need.

In order to address this, let's switch to the non-devm variant to
control better when the handler will be unregistered and allow us to
make it safe.

Fixes: 15b4511a4a ("drm/vc4: add HDMI CEC support")
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Reviewed-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210707095112.1469670-2-maxime@cerno.tech
2021-07-15 10:43:20 +02:00
..
Kconfig drm/vc4: Fix Kconfig indentation 2019-11-25 10:04:41 +01:00
Makefile drm/vc4: hdmi: Add PHY init and disable function 2020-09-07 18:06:04 +02:00
vc4_bo.c drm/vc4: Initialize vc4_drm_driver with CMA helper defaults 2021-01-15 10:39:05 +01:00
vc4_crtc.c drm/vc4: crtc: Lookup the encoder from the register at boot 2021-05-24 14:42:07 +02:00
vc4_debugfs.c drm/vc4/vc4_debugfs: Demote non-conformant kernel-doc headers 2020-11-18 11:51:58 +01:00
vc4_dpi.c drm/vc4: Use simple encoder 2020-04-02 14:16:45 +02:00
vc4_drv.c drm/vc4: hvs: Make the HVS bind first 2021-05-24 14:42:30 +02:00
vc4_drv.h drm/vc4: fix argument ordering in vc4_crtc_get_margins() 2021-04-29 12:18:54 +02:00
vc4_dsi.c drm/vc4: dsi: Add configuration for BCM2711 DSI1 2020-12-07 10:33:33 +01:00
vc4_fence.c
vc4_gem.c drm/vc4: remove unneeded variable: "ret" 2021-02-09 17:16:57 +01:00
vc4_hdmi_phy.c drm/vc4: hdmi: Use the connector state pixel rate for the PHY 2020-12-16 10:11:48 +01:00
vc4_hdmi_regs.h drm/vc4: hdmi: Enable the scrambler 2021-05-24 14:43:36 +02:00
vc4_hdmi.c drm/vc4: hdmi: Drop devm interrupt handler for CEC interrupts 2021-07-15 10:43:20 +02:00
vc4_hdmi.h drm/vc4: hdmi: Convert to gpiod 2021-06-07 13:33:46 +02:00
vc4_hvs.c drm pull for 5.12-rc1 2021-02-21 14:44:44 -08:00
vc4_irq.c
vc4_kms.c Linux 5.13-rc7 2021-06-23 10:07:48 +10:00
vc4_packet.h
vc4_perfmon.c drm/vc4: replace idr_init() by idr_init_base() 2020-11-06 11:48:43 +01:00
vc4_plane.c Merge drm/drm-fixes into drm-next 2021-04-13 23:15:09 +02:00
vc4_qpu_defines.h
vc4_regs.h drm/vc4: hdmi: Support the BCM2711 HDMI controllers 2020-09-07 18:14:54 +02:00
vc4_render_cl.c
vc4_trace_points.c
vc4_trace.h
vc4_txp.c drm/vc4: txp: Properly set the possible_crtcs mask 2021-05-24 14:41:28 +02:00
vc4_v3d.c drm/vc4/vc4_v3d: Demote non-conformant kernel-doc headers 2020-11-18 11:51:58 +01:00
vc4_validate_shaders.c
vc4_validate.c
vc4_vec.c drm/vc4: Separate VEC compatible variants 2021-05-24 13:52:33 +02:00