Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 13fef095 authored by Chen-Yu Tsai's avatar Chen-Yu Tsai Committed by Maxime Ripard
Browse files

drm: sun4i: do cleanup if RGB output init fails



sun4i_rgb_init() can fail, which results in TCON failing to bind.
In this case we need to do cleanup, specificly unregistering the
dotclock, which is regmap based, and the regmap is registered as
part of the sun4i_tcon_bind().

Failing to do so results in a NULL pointer reference when the CCF
tries to turn off unused clocks.

Fixes: 29e57fab ("drm: sun4i: Add RGB output")
Signed-off-by: default avatarChen-Yu Tsai <wens@csie.org>
Signed-off-by: default avatarMaxime Ripard <maxime.ripard@free-electrons.com>
parent 7aa2e2b7
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -490,7 +490,11 @@ static int sun4i_tcon_bind(struct device *dev, struct device *master,
		return 0;
	}

	return sun4i_rgb_init(drm);
	ret = sun4i_rgb_init(drm);
	if (ret < 0)
		goto err_free_clocks;

	return 0;

err_free_clocks:
	sun4i_tcon_free_clocks(tcon);