Эх сурвалжийг харах

matroxfb: fix regression with uninitalized fb_info->mm_lock mutex (second head)

Remove redundant locking by the mm_lock mutex before a second head of
matrox framebuffer 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>
Krzysztof Helt 16 жил өмнө
parent
commit
99f5d48b98

+ 4 - 2
drivers/video/matrox/matroxfb_crtc2.c

@@ -289,16 +289,18 @@ static int matroxfb_dh_release(struct fb_info* info, int user) {
 #undef m2info
 #undef m2info
 }
 }
 
 
+/*
+ * This function is called before the register_framebuffer so
+ * no locking is needed.
+ */
 static void matroxfb_dh_init_fix(struct matroxfb_dh_fb_info *m2info)
 static void matroxfb_dh_init_fix(struct matroxfb_dh_fb_info *m2info)
 {
 {
 	struct fb_fix_screeninfo *fix = &m2info->fbcon.fix;
 	struct fb_fix_screeninfo *fix = &m2info->fbcon.fix;
 
 
 	strcpy(fix->id, "MATROX DH");
 	strcpy(fix->id, "MATROX DH");
 
 
-	mutex_lock(&m2info->fbcon.mm_lock);
 	fix->smem_start = m2info->video.base;
 	fix->smem_start = m2info->video.base;
 	fix->smem_len = m2info->video.len_usable;
 	fix->smem_len = m2info->video.len_usable;
-	mutex_unlock(&m2info->fbcon.mm_lock);
 	fix->ypanstep = 1;
 	fix->ypanstep = 1;
 	fix->ywrapstep = 0;
 	fix->ywrapstep = 0;
 	fix->xpanstep = 8;	/* TBD */
 	fix->xpanstep = 8;	/* TBD */