summaryrefslogtreecommitdiffstats
path: root/drivers/video/fbmem.c
diff options
context:
space:
mode:
authorMikulas Patocka <mpatocka@redhat.com>2008-10-29 22:01:17 +0100
committerLinus Torvalds <torvalds@linux-foundation.org>2008-10-30 19:38:47 +0100
commit120a37470c2831fea49fdebaceb5a7039f700ce6 (patch)
tree66ecbbda7026f185bae8ab6a6cf3a692c721a2e3 /drivers/video/fbmem.c
parentrtc S3C: add device_init_wakeup() invokation (diff)
downloadlinux-120a37470c2831fea49fdebaceb5a7039f700ce6.tar.xz
linux-120a37470c2831fea49fdebaceb5a7039f700ce6.zip
framebuffer compat_ioctl deadlock
Fix deadlock in fb_compat_ioctl. fb_compat_ioctl acquires a mutex and calls fb_ioctl that tries to acquire that mutex too. A regression added during BKL removal. Signed-off-by: Mikulas Patocka <mpatocka@redhat.com> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/video/fbmem.c')
-rw-r--r--drivers/video/fbmem.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/video/fbmem.c b/drivers/video/fbmem.c
index cd5f20da738a..6048b55f2878 100644
--- a/drivers/video/fbmem.c
+++ b/drivers/video/fbmem.c
@@ -1262,8 +1262,8 @@ fb_compat_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
case FBIOPUT_CON2FBMAP:
arg = (unsigned long) compat_ptr(arg);
case FBIOBLANK:
- ret = fb_ioctl(file, cmd, arg);
- break;
+ mutex_unlock(&info->lock);
+ return fb_ioctl(file, cmd, arg);
case FBIOGET_FSCREENINFO:
ret = fb_get_fscreeninfo(inode, file, cmd, arg);