On 2017-05-24 07:51, Daniel Vetter wrote: > Again cleanup before irq disabling doesn't really stop the races, > so just drop it. Proper fix would be to put drm_atomic_helper_shutdown > before everything gets cleaned up. Hm, I already use the non-atomic drm_crtc_force_disable_all before, I think that fixed the races I saw. But I guess what you are saying instead of using drm_crtc_force_disable_all I should use drm_atomic_helper_shutdown...? Will try that. FWIW, Acked-by: Stefan Agner <stefan@xxxxxxxx> -- Stefan > > Cc: Stefan Agner <stefan@xxxxxxxx> > Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> > --- > drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c | 2 -- > 1 file changed, 2 deletions(-) > > 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 6e00f4b267f1..b34d09b59eee 100644 > --- a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c > +++ b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c > @@ -109,7 +109,6 @@ static int fsl_dcu_load(struct drm_device *dev, > unsigned long flags) > drm_fbdev_cma_fini(fsl_dev->fbdev); > > drm_mode_config_cleanup(dev); > - drm_vblank_cleanup(dev); > drm_irq_uninstall(dev); > dev->dev_private = NULL; > > @@ -127,7 +126,6 @@ static void fsl_dcu_unload(struct drm_device *dev) > drm_fbdev_cma_fini(fsl_dev->fbdev); > > drm_mode_config_cleanup(dev); > - drm_vblank_cleanup(dev); > drm_irq_uninstall(dev); > > dev->dev_private = NULL; _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel