drm: Cancel drm_fb_helper_resume_work on unload
authorChris Wilson <chris@chris-wilson.co.uk>
Tue, 7 Feb 2017 12:49:56 +0000 (12:49 +0000)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 8 Feb 2017 15:15:42 +0000 (16:15 +0100)
We can not allow the worker to run after its fbdev, or even the module,
has been removed.

Fixes: cfe63423d9be ("drm/fb-helper: Add drm_fb_helper_set_suspend_unlocked()")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Noralf Trønnes <noralf@tronnes.org>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Sean Paul <seanpaul@chromium.org>
Cc: dri-devel@lists.freedesktop.org
Cc: <stable@vger.kernel.org> # v4.9+
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/20170207124956.14954-2-chris@chris-wilson.co.uk
drivers/gpu/drm/drm_fb_helper.c

index 7f5f936c8697fa0ea4f9fa0294f5991a5267fa47..f6d4d9700734e6d48792e90d47c7bfe4081116a1 100644 (file)
@@ -860,6 +860,7 @@ void drm_fb_helper_fini(struct drm_fb_helper *fb_helper)
        if (!drm_fbdev_emulation)
                return;
 
+       cancel_work_sync(&fb_helper->resume_work);
        cancel_work_sync(&fb_helper->dirty_work);
 
        mutex_lock(&kernel_fb_helper_lock);