Revert "fb: Initialize fb_info mutexes in framebuffer_alloc()"
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 8 Jul 2009 16:20:11 +0000 (09:20 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 8 Jul 2009 16:20:11 +0000 (09:20 -0700)
This reverts commit 4148df9b0f38bdd362dd91d52076926c11cbe5a9.

Let's hope that the mm_lock initialization is now correct with all
drivers, following Krzysztof's patches.

Requested-by: Krzysztof Helt <krzysztof.h1@poczta.fm>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/video/fbmem.c
drivers/video/fbsysfs.c
drivers/video/matrox/matroxfb_base.c
drivers/video/sm501fb.c

index 53eb39652791deea409cc0e7776f6d03f5b31d0a..53ea05645ff8e8bedb93e354d26f7f945628d8dd 100644 (file)
@@ -1513,6 +1513,8 @@ register_framebuffer(struct fb_info *fb_info)
                if (!registered_fb[i])
                        break;
        fb_info->node = i;
+       mutex_init(&fb_info->lock);
+       mutex_init(&fb_info->mm_lock);
 
        fb_info->dev = device_create(fb_class, fb_info->device,
                                     MKDEV(FB_MAJOR, i), NULL, "fb%d", i);
index afc04df39a03885cef15314f1d00b09b4baf3a0d..d4a2c11d980975be84131abd3a94670a1e2f7c98 100644 (file)
@@ -62,9 +62,6 @@ struct fb_info *framebuffer_alloc(size_t size, struct device *dev)
        mutex_init(&info->bl_curve_mutex);
 #endif
 
-       mutex_init(&info->lock);
-       mutex_init(&info->mm_lock);
-
        return info;
 #undef PADDING
 #undef BYTES_PER_LONG
index 721a87dc8cfca5c54eef6419831d5050e4f826dc..0c1049b308bf3bb433867b0047b1b0afdda65e42 100644 (file)
@@ -2082,7 +2082,6 @@ static int matroxfb_probe(struct pci_dev* pdev, const struct pci_device_id* dumm
        spin_lock_init(&ACCESS_FBINFO(lock.accel));
        init_rwsem(&ACCESS_FBINFO(crtc2.lock));
        init_rwsem(&ACCESS_FBINFO(altout.lock));
-       mutex_init(&ACCESS_FBINFO(fbcon).lock);
        mutex_init(&ACCESS_FBINFO(fbcon).mm_lock);
        ACCESS_FBINFO(irq_flags) = 0;
        init_waitqueue_head(&ACCESS_FBINFO(crtc1.vsync.wait));
index 98f24f0ec00df511247adcd09f692baa5cc577de..16d4f4c7d52b5b02e6fcff002b8c0d03160b371c 100644 (file)
@@ -1624,6 +1624,8 @@ static int __devinit sm501fb_start_one(struct sm501fb_info *info,
        if (!fbi)
                return 0;
 
+       mutex_init(&info->fb[head]->mm_lock);
+
        ret = sm501fb_init_fb(info->fb[head], head, drvname);
        if (ret) {
                dev_err(info->dev, "cannot initialise fb %s\n", drvname);