diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2017-02-07 12:49:55 +0000 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2017-02-08 16:15:41 +0100 |
commit | f21b9a92ca7c29382909eaab9facc2cf46f2cc0b (patch) | |
tree | 090f1eb89a9ca37c9800480bab4624f5ace442dd /drivers/gpu/drm/drm_fb_helper.c | |
parent | 4eaa39c63caf535dc1a8cc43b9a8677a100c09e1 (diff) | |
download | linux-stable-f21b9a92ca7c29382909eaab9facc2cf46f2cc0b.tar.gz linux-stable-f21b9a92ca7c29382909eaab9facc2cf46f2cc0b.tar.bz2 linux-stable-f21b9a92ca7c29382909eaab9facc2cf46f2cc0b.zip |
drm: Cancel drm_fb_helper_dirty_work on unload
We can not allow the worker to run after its fbdev, or even the module,
has been removed.
Fixes: eaa434defaca ("drm/fb-helper: Add fb_deferred_io support")
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.7+
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/20170207124956.14954-1-chris@chris-wilson.co.uk
Diffstat (limited to 'drivers/gpu/drm/drm_fb_helper.c')
-rw-r--r-- | drivers/gpu/drm/drm_fb_helper.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c index a30c645035de..7f5f936c8697 100644 --- a/drivers/gpu/drm/drm_fb_helper.c +++ b/drivers/gpu/drm/drm_fb_helper.c @@ -860,6 +860,8 @@ void drm_fb_helper_fini(struct drm_fb_helper *fb_helper) if (!drm_fbdev_emulation) return; + cancel_work_sync(&fb_helper->dirty_work); + mutex_lock(&kernel_fb_helper_lock); if (!list_empty(&fb_helper->kernel_fb_list)) { list_del(&fb_helper->kernel_fb_list); |