diff --git a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c
index 182578dd3d6b488eddbc8fb0d2f0ffb41ad82157..f9227b717e40e88a26f88119fca2647809aef246 100644
--- a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c
+++ b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c
@@ -91,6 +91,8 @@ static int fsl_dcu_load(struct drm_device *dev, unsigned long flags)
 
 	return 0;
 done:
+	drm_kms_helper_poll_fini(dev);
+
 	if (fsl_dev->fbdev)
 		drm_fbdev_cma_fini(fsl_dev->fbdev);
 
@@ -106,6 +108,8 @@ static int fsl_dcu_unload(struct drm_device *dev)
 {
 	struct fsl_dcu_drm_device *fsl_dev = dev->dev_private;
 
+	drm_kms_helper_poll_fini(dev);
+
 	if (fsl_dev->fbdev)
 		drm_fbdev_cma_fini(fsl_dev->fbdev);