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: eaa434defa
("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
This commit is contained in:
parent
4eaa39c63c
commit
f21b9a92ca
|
@ -860,6 +860,8 @@ void drm_fb_helper_fini(struct drm_fb_helper *fb_helper)
|
||||||
if (!drm_fbdev_emulation)
|
if (!drm_fbdev_emulation)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
cancel_work_sync(&fb_helper->dirty_work);
|
||||||
|
|
||||||
mutex_lock(&kernel_fb_helper_lock);
|
mutex_lock(&kernel_fb_helper_lock);
|
||||||
if (!list_empty(&fb_helper->kernel_fb_list)) {
|
if (!list_empty(&fb_helper->kernel_fb_list)) {
|
||||||
list_del(&fb_helper->kernel_fb_list);
|
list_del(&fb_helper->kernel_fb_list);
|
||||||
|
|
Loading…
Reference in New Issue