提交 7eb3b2c8 编写于 作者: L Laurent Pinchart 提交者: Dave Airlie

drm: Delete the vblank timer synchronously at cleanup time

A race condition exists in drm_vblank_cleanup() if the vblank disable
timer callback runs after freeing the memory that its callback function
tries to access. Fix this by deleting the timer synchronously.
Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
Signed-off-by: NDave Airlie <airlied@redhat.com>
上级 af437cfd
......@@ -189,7 +189,7 @@ void drm_vblank_cleanup(struct drm_device *dev)
if (dev->num_crtcs == 0)
return;
del_timer(&dev->vblank_disable_timer);
del_timer_sync(&dev->vblank_disable_timer);
vblank_disable_fn((unsigned long)dev);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册