atafb: fix regression with uninitalized fb_info->mm_lock mutex
authorKrzysztof Helt <krzysztof.h1@wp.pl>
Tue, 7 Jul 2009 17:15:16 +0000 (19:15 +0200)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 8 Jul 2009 16:19:49 +0000 (09:19 -0700)
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 537a1bf059f " fbdev: add mutex for fb_mmap
locking"

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/video/atafb.c

index 497ff8af03edf0aa70feeebaa210aaae2419e545..8cd279be74e5de975d1e3871f806673e67de3783 100644 (file)
@@ -2405,6 +2405,9 @@ static int do_fb_set_var(struct fb_var_screeninfo *var, int isactive)
        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)
 {
        struct atafb_par par;
@@ -2414,9 +2417,7 @@ static int atafb_get_fix(struct fb_fix_screeninfo *fix, struct fb_info *info)
        if (err)
                return err;
        memset(fix, 0, sizeof(struct fb_fix_screeninfo));
-       mutex_lock(&info->mm_lock);
        err = fbhw->encode_fix(fix, &par);
-       mutex_unlock(&info->mm_lock);
        return err;
 }