The reset line is deasserted at bind, and asserted if we ever encounter an
error there. However, it's never asserted in unbind which will lead to a
resource unbalance.
Signed-off-by: Maxime Ripard <[email protected]>
Reviewed-by: Jernej Skrabec <[email protected]>
diff --git a/drivers/gpu/drm/sun4i/sun4i_tv.c b/drivers/gpu/drm/sun4i/sun4i_tv.c
index ad6a3739bfa9..74ff5ad6a8b9 100644
--- a/drivers/gpu/drm/sun4i/sun4i_tv.c
+++ b/drivers/gpu/drm/sun4i/sun4i_tv.c
@@ -605,6 +605,7 @@ static void sun4i_tv_unbind(struct device *dev, struct device *master,
drm_connector_cleanup(&tv->connector);
drm_encoder_cleanup(&tv->encoder);
clk_disable_unprepare(tv->clk);
+ reset_control_assert(tv->reset);
}
static const struct component_ops sun4i_tv_ops = {
--
b4 0.10.0-dev-65ba7
On Mon, 29 Aug 2022 15:11:54 +0200, Maxime Ripard wrote:
> The reset line is deasserted at bind, and asserted if we ever encounter an
> error there. However, it's never asserted in unbind which will lead to a
> resource unbalance.
>
>
Applied to drm/drm-misc (drm-misc-next).
Thanks!
Maxime