drm/exynos: fix no hdmi output
[firefly-linux-kernel-4.4.55.git] / drivers / gpu / drm / exynos / exynos_mixer.c
index 75b47da6c66c496cba9bcf0f96f36f02b38419ce..0aa6cf447e9f4b223ff0fbd3047c225b9826556d 100644 (file)
@@ -1254,18 +1254,19 @@ static int mixer_bind(struct device *dev, struct device *manager, void *data)
        struct drm_device *drm_dev = data;
        int ret;
 
+       ret = mixer_initialize(ctx, drm_dev);
+       if (ret)
+               return ret;
+
        ctx->crtc = exynos_drm_crtc_create(drm_dev, ctx->pipe,
                                     EXYNOS_DISPLAY_TYPE_HDMI,
                                     &mixer_crtc_ops, ctx);
        if (IS_ERR(ctx->crtc)) {
+               mixer_ctx_remove(ctx);
                ret = PTR_ERR(ctx->crtc);
                goto free_ctx;
        }
 
-       ret = mixer_initialize(ctx, drm_dev);
-       if (ret)
-               goto free_ctx;
-
        return 0;
 
 free_ctx: