From: Imre Deak Date: Fri, 2 Nov 2012 11:30:47 +0000 (+0200) Subject: drm/exynos: hold event_lock while accessing pageflip_event_list X-Git-Tag: upstream/snapshot3+hdmi~5999^2~14^2~26 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=85473328bac6170aabb5e13d2542d11d1fc4cc76;p=platform%2Fadaptation%2Frenesas_rcar%2Frenesas_kernel.git drm/exynos: hold event_lock while accessing pageflip_event_list Signed-off-by: Imre Deak Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park --- diff --git a/drivers/gpu/drm/exynos/exynos_drm_crtc.c b/drivers/gpu/drm/exynos/exynos_drm_crtc.c index fce245f..2efa4b0 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_crtc.c +++ b/drivers/gpu/drm/exynos/exynos_drm_crtc.c @@ -236,16 +236,21 @@ static int exynos_drm_crtc_page_flip(struct drm_crtc *crtc, goto out; } + spin_lock_irq(&dev->event_lock); list_add_tail(&event->base.link, &dev_priv->pageflip_event_list); + spin_unlock_irq(&dev->event_lock); crtc->fb = fb; ret = exynos_drm_crtc_mode_set_base(crtc, crtc->x, crtc->y, NULL); if (ret) { crtc->fb = old_fb; + + spin_lock_irq(&dev->event_lock); drm_vblank_put(dev, exynos_crtc->pipe); list_del(&event->base.link); + spin_unlock_irq(&dev->event_lock); goto out; }