]> git.baikalelectronics.ru Git - kernel.git/commit
drm/vc4: hdmi: Drop devm interrupt handler for CEC interrupts
authorMaxime Ripard <maxime@cerno.tech>
Wed, 7 Jul 2021 09:51:10 +0000 (11:51 +0200)
committerMaxime Ripard <maxime@cerno.tech>
Thu, 15 Jul 2021 08:43:20 +0000 (10:43 +0200)
commit4c61a2399577cc874871d5b90bc21d4a4db6d40f
treea510bc8b762536da6f44daffa9eef9efbc882cb2
parent7135054d443b1c8082c923a50bd3503b62edff94
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: 8668cd3ec760 ("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
drivers/gpu/drm/vc4/vc4_hdmi.c