diff --git a/drivers/gpu/drm/imx/imx-drm-core.c b/drivers/gpu/drm/imx/imx-drm-core.c
index 9d6f8bf707932bdacdf0a8a3c332c4e0e19f8cb4..11382d330e7a4c30143cfd8b0b0c70f6b72f473e 100644
--- a/drivers/gpu/drm/imx/imx-drm-core.c
+++ b/drivers/gpu/drm/imx/imx-drm-core.c
@@ -247,8 +247,6 @@ static int imx_drm_bind(struct device *dev)
 	if (ret)
 		goto err_kms;
 
-	dev_set_drvdata(dev, drm);
-
 	/* Now try and bind all our sub-components */
 	ret = component_bind_all(dev, drm);
 	if (ret)
@@ -282,6 +280,8 @@ static int imx_drm_bind(struct device *dev)
 	if (ret)
 		goto err_fbhelper;
 
+	dev_set_drvdata(dev, drm);
+
 	return 0;
 
 err_fbhelper: