提交 feaa61e4 编写于 作者: K Krzysztof Helt 提交者: Linus Torvalds

atafb: fix regression with uninitalized fb_info->mm_lock mutex

Remove redundant locking of the fb_info->mm_lock mutex before the
frambuffer is registered.

This fixes a problem with uninitialized the fb_info->mm_lock mutex
introduced by the commit 537a1bf0 " fbdev: add mutex for fb_mmap
locking"
Signed-off-by: NKrzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
上级 0c8ddf7f
...@@ -2405,6 +2405,9 @@ static int do_fb_set_var(struct fb_var_screeninfo *var, int isactive) ...@@ -2405,6 +2405,9 @@ static int do_fb_set_var(struct fb_var_screeninfo *var, int isactive)
return 0; return 0;
} }
/* fbhw->encode_fix() must be called with fb_info->mm_lock held
* if it is called after the register_framebuffer() - not a case here
*/
static int atafb_get_fix(struct fb_fix_screeninfo *fix, struct fb_info *info) static int atafb_get_fix(struct fb_fix_screeninfo *fix, struct fb_info *info)
{ {
struct atafb_par par; struct atafb_par par;
...@@ -2414,9 +2417,7 @@ static int atafb_get_fix(struct fb_fix_screeninfo *fix, struct fb_info *info) ...@@ -2414,9 +2417,7 @@ static int atafb_get_fix(struct fb_fix_screeninfo *fix, struct fb_info *info)
if (err) if (err)
return err; return err;
memset(fix, 0, sizeof(struct fb_fix_screeninfo)); memset(fix, 0, sizeof(struct fb_fix_screeninfo));
mutex_lock(&info->mm_lock);
err = fbhw->encode_fix(fix, &par); err = fbhw->encode_fix(fix, &par);
mutex_unlock(&info->mm_lock);
return err; return err;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册