summaryrefslogtreecommitdiffstats
path: root/drivers/video/fbmem.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/video/fbmem.c')
-rw-r--r--drivers/video/fbmem.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/video/fbmem.c b/drivers/video/fbmem.c
index bf34ca0da..9cb20fc0d 100644
--- a/drivers/video/fbmem.c
+++ b/drivers/video/fbmem.c
@@ -411,6 +411,8 @@ fb_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
case FBIOPAN_DISPLAY:
if (copy_from_user(&var, (void *) arg, sizeof(var)))
return -EFAULT;
+ if (fb->fb_pan_display == NULL)
+ return (var.xoffset || var.yoffset) ? -EINVAL : 0;
if ((i=fb->fb_pan_display(&var, PROC_CONSOLE(info), info)))
return i;
if (copy_to_user((void *) arg, &var, sizeof(var)))
@@ -450,6 +452,8 @@ fb_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
(*info->blank)(arg, info);
return 0;
default:
+ if (fb->fb_ioctl == NULL)
+ return -EINVAL;
return fb->fb_ioctl(inode, file, cmd, arg, PROC_CONSOLE(info),
info);
}