Remove mutex from the fb_open/fb_release functions as these operations are
mutexed at fb layer.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Krzysztof Helt 2008-10-15 22:03:33 -07:00 коммит произвёл Linus Torvalds
Родитель 9c8db4a265
Коммит 3a568051f3
2 изменённых файлов: 2 добавлений и 9 удалений

Просмотреть файл

@ -557,14 +557,12 @@ neofb_open(struct fb_info *info, int user)
{
struct neofb_par *par = info->par;
mutex_lock(&par->open_lock);
if (!par->ref_count) {
memset(&par->state, 0, sizeof(struct vgastate));
par->state.flags = VGA_SAVE_MODE | VGA_SAVE_FONTS;
save_vga(&par->state);
}
par->ref_count++;
mutex_unlock(&par->open_lock);
return 0;
}
@ -574,16 +572,13 @@ neofb_release(struct fb_info *info, int user)
{
struct neofb_par *par = info->par;
mutex_lock(&par->open_lock);
if (!par->ref_count) {
mutex_unlock(&par->open_lock);
if (!par->ref_count)
return -EINVAL;
}
if (par->ref_count == 1) {
restore_vga(&par->state);
}
par->ref_count--;
mutex_unlock(&par->open_lock);
return 0;
}
@ -1958,7 +1953,6 @@ static struct fb_info *__devinit neo_alloc_fb_info(struct pci_dev *dev, const st
info->fix.accel = id->driver_data;
mutex_init(&par->open_lock);
par->pci_burst = !nopciburst;
par->lcd_stretch = !nostretch;
par->libretto = libretto;

Просмотреть файл

@ -123,7 +123,6 @@ typedef volatile struct {
struct neofb_par {
struct vgastate state;
struct mutex open_lock;
unsigned int ref_count;
unsigned char MiscOutReg; /* Misc */