Skip to content
Unverified Commit 776efe80 authored by Maxime Ripard's avatar Maxime Ripard
Browse files

drm/vc4: hdmi: Drop devm interrupt handler for hotplug interrupts

The hotplugs 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: f4790083

 ("drm/vc4: hdmi: Rely on interrupts to handle hotplug")
Signed-off-by: default avatarMaxime Ripard <maxime@cerno.tech>
Reviewed-by: default avatarDave Stevenson <dave.stevenson@raspberrypi.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210707095112.1469670-3-maxime@cerno.tech
parent 868d043f
  • mirror @mirror

    mentioned in commit dfb41df5

    ·

    mentioned in commit dfb41df5

    Toggle commit list
  • mirror @mirror

    mentioned in commit d9bffa4a804d570ac548987e906cd5fd6532cec3

    ·

    mentioned in commit d9bffa4a804d570ac548987e906cd5fd6532cec3

    Toggle commit list
  • mirror @mirror

    mentioned in commit ce92d096b88344f8af242742f05df7e08cc7efb0

    ·

    mentioned in commit ce92d096b88344f8af242742f05df7e08cc7efb0

    Toggle commit list
  • mirror @mirror

    mentioned in commit c85df2949bd918d1ecaf06234fdeb4d11acbdc85

    ·

    mentioned in commit c85df2949bd918d1ecaf06234fdeb4d11acbdc85

    Toggle commit list
  • mirror @mirror

    mentioned in commit 2666f49213ebef69ee1ba53823a55992b6f46a83

    ·

    mentioned in commit 2666f49213ebef69ee1ba53823a55992b6f46a83

    Toggle commit list
  • mirror @mirror

    mentioned in commit b6d3fbd42be7d2083fa7984c7d1a021dd0c9d441

    ·

    mentioned in commit b6d3fbd42be7d2083fa7984c7d1a021dd0c9d441

    Toggle commit list
  • mirror @mirror

    mentioned in commit 4f08e82ca2bb2a3b7d8450d764779851e5a8af69

    ·

    mentioned in commit 4f08e82ca2bb2a3b7d8450d764779851e5a8af69

    Toggle commit list
  • mirror @mirror

    mentioned in commit c34a08582ca85ff507a1354d21f8b88dfb670fb3

    ·

    mentioned in commit c34a08582ca85ff507a1354d21f8b88dfb670fb3

    Toggle commit list
  • mirror @mirror

    mentioned in commit c6261d60b744ffb3d954abb0ee55e9f18b1490ea

    ·

    mentioned in commit c6261d60b744ffb3d954abb0ee55e9f18b1490ea

    Toggle commit list
  • mirror @mirror

    mentioned in commit 0ce347c4242ffc4094f4d5488e3970be9e5697ad

    ·

    mentioned in commit 0ce347c4242ffc4094f4d5488e3970be9e5697ad

    Toggle commit list
  • mirror @mirror

    mentioned in commit 94a72df51f9343a279e606f1f9ad5f88e2896b02

    ·

    mentioned in commit 94a72df51f9343a279e606f1f9ad5f88e2896b02

    Toggle commit list
  • mirror @mirror

    mentioned in commit 31e74f842b324db41c60fae78d355bd0a528f647

    ·

    mentioned in commit 31e74f842b324db41c60fae78d355bd0a528f647

    Toggle commit list
  • mirror @mirror

    mentioned in commit 2ab6740ac85364dca20d12a7da0d919846b6898c

    ·

    mentioned in commit 2ab6740ac85364dca20d12a7da0d919846b6898c

    Toggle commit list
  • mirror @mirror

    mentioned in commit c2836e6c520bfa61c628499525eba68f78daa16e

    ·

    mentioned in commit c2836e6c520bfa61c628499525eba68f78daa16e

    Toggle commit list
  • mirror @mirror

    mentioned in commit f03f47f2f17e7f16362871afcbf9cba4e5351872

    ·

    mentioned in commit f03f47f2f17e7f16362871afcbf9cba4e5351872

    Toggle commit list
  • mirror @mirror

    mentioned in commit 5a0f5877

    ·

    mentioned in commit 5a0f5877

    Toggle commit list
  • mirror @mirror

    mentioned in commit 71408bc5acde3b76210f51174089ebc9f8543696

    ·

    mentioned in commit 71408bc5acde3b76210f51174089ebc9f8543696

    Toggle commit list
  • mirror @mirror

    mentioned in commit c8cdcf792cdd422120393ca5b50b1642074f9fa9

    ·

    mentioned in commit c8cdcf792cdd422120393ca5b50b1642074f9fa9

    Toggle commit list
  • mirror @mirror

    mentioned in commit c8608009cd072e1446a1d201786c1b2d60942bdf

    ·

    mentioned in commit c8608009cd072e1446a1d201786c1b2d60942bdf

    Toggle commit list
  • mirror @mirror

    mentioned in commit 0bf484c8c3f898bd066e33f1a9ea50d07fc3bdbc

    ·

    mentioned in commit 0bf484c8c3f898bd066e33f1a9ea50d07fc3bdbc

    Toggle commit list
  • mirror @mirror

    mentioned in commit 8e9dd55497a9114ece82b7692010294d303b5a93

    ·

    mentioned in commit 8e9dd55497a9114ece82b7692010294d303b5a93

    Toggle commit list
  • mirror @mirror

    mentioned in commit 14fc283ffa9c7cc4ae1a08a89232c452d5b8d748

    ·

    mentioned in commit 14fc283ffa9c7cc4ae1a08a89232c452d5b8d748

    Toggle commit list
  • mirror @mirror

    mentioned in commit 7533a506a746dfbe70cd300dbb29d4159a6734af

    ·

    mentioned in commit 7533a506a746dfbe70cd300dbb29d4159a6734af

    Toggle commit list
  • mirror @mirror

    mentioned in commit 2003e886920c8515aad6c4efa9a54ec2f3fd34fa

    ·

    mentioned in commit 2003e886920c8515aad6c4efa9a54ec2f3fd34fa

    Toggle commit list
  • mirror @mirror

    mentioned in commit 38d0e75c64c78ac4ec97f03473de8512837c0e7b

    ·

    mentioned in commit 38d0e75c64c78ac4ec97f03473de8512837c0e7b

    Toggle commit list
  • mirror @mirror

    mentioned in commit dca65f3d372f72b22f3e743811698326c10adbd7

    ·

    mentioned in commit dca65f3d372f72b22f3e743811698326c10adbd7

    Toggle commit list
  • mirror @mirror

    mentioned in commit 169254f79856243118dbddc42456566504ebd163

    ·

    mentioned in commit 169254f79856243118dbddc42456566504ebd163

    Toggle commit list
  • mirror @mirror

    mentioned in commit 5ee1bab5040224e60416f1f6ca96a9998a5c20b2

    ·

    mentioned in commit 5ee1bab5040224e60416f1f6ca96a9998a5c20b2

    Toggle commit list
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment