diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2017-02-07 07:49:55 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-03-14 22:02:50 -0400 |
commit | 9edc456fe621f3ba33859ea3ad3c285e544db9ad (patch) | |
tree | 5d0eea4ab48e1eeac4719ef9db182cb73c6e1991 /drivers/gpu/drm | |
parent | 868a747c77cbf1d5e183dbceb912baa4db2be913 (diff) |
drm: Cancel drm_fb_helper_dirty_work on unload
commit f21b9a92ca7c29382909eaab9facc2cf46f2cc0b upstream.
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
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/20170207124956.14954-1-chris@chris-wilson.co.uk
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/gpu/drm')
-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 6c75e62c0b22..cc8938bb9ff4 100644 --- a/drivers/gpu/drm/drm_fb_helper.c +++ b/drivers/gpu/drm/drm_fb_helper.c | |||
@@ -848,6 +848,8 @@ void drm_fb_helper_fini(struct drm_fb_helper *fb_helper) | |||
848 | if (!drm_fbdev_emulation) | 848 | if (!drm_fbdev_emulation) |
849 | return; | 849 | return; |
850 | 850 | ||
851 | cancel_work_sync(&fb_helper->dirty_work); | ||
852 | |||
851 | if (!list_empty(&fb_helper->kernel_fb_list)) { | 853 | if (!list_empty(&fb_helper->kernel_fb_list)) { |
852 | list_del(&fb_helper->kernel_fb_list); | 854 | list_del(&fb_helper->kernel_fb_list); |
853 | if (list_empty(&kernel_fb_helper_list)) { | 855 | if (list_empty(&kernel_fb_helper_list)) { |