Commit 6ab20a05 authored by Noralf Trønnes's avatar Noralf Trønnes

drm/fb-helper: generic: Don't take module ref for fbcon

It's now safe to let fbcon unbind automatically on fbdev unregister.
The crash problem was fixed in commit 2122b405
("fbdev: fbcon: Fix unregister crash when more than one framebuffer")
Signed-off-by: default avatarNoralf Trønnes <noralf@tronnes.org>
Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20190210131039.52664-13-noralf@tronnes.org
parent eb73e1d5
...@@ -3024,7 +3024,8 @@ static int drm_fbdev_fb_open(struct fb_info *info, int user) ...@@ -3024,7 +3024,8 @@ static int drm_fbdev_fb_open(struct fb_info *info, int user)
{ {
struct drm_fb_helper *fb_helper = info->par; struct drm_fb_helper *fb_helper = info->par;
if (!try_module_get(fb_helper->dev->driver->fops->owner)) /* No need to take a ref for fbcon because it unbinds on unregister */
if (user && !try_module_get(fb_helper->dev->driver->fops->owner))
return -ENODEV; return -ENODEV;
return 0; return 0;
...@@ -3034,7 +3035,8 @@ static int drm_fbdev_fb_release(struct fb_info *info, int user) ...@@ -3034,7 +3035,8 @@ static int drm_fbdev_fb_release(struct fb_info *info, int user)
{ {
struct drm_fb_helper *fb_helper = info->par; struct drm_fb_helper *fb_helper = info->par;
module_put(fb_helper->dev->driver->fops->owner); if (user)
module_put(fb_helper->dev->driver->fops->owner);
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment