diff options
author | Mikulas Patocka <mpatocka@redhat.com> | 2008-10-29 22:01:17 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-10-30 19:38:47 +0100 |
commit | 120a37470c2831fea49fdebaceb5a7039f700ce6 (patch) | |
tree | 66ecbbda7026f185bae8ab6a6cf3a692c721a2e3 /drivers/video/fbmem.c | |
parent | rtc S3C: add device_init_wakeup() invokation (diff) | |
download | linux-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.c | 4 |
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); |