patch-2.4.0-test5 linux/drivers/video/fbmem.c

Next file: linux/drivers/video/fm2fb.c
Previous file: linux/drivers/video/fbgen.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0-test4/linux/drivers/video/fbmem.c linux/drivers/video/fbmem.c
@@ -101,8 +101,8 @@
 extern int control_init(void);
 extern int control_setup(char*);
 extern int g364fb_init(void);
-extern void sa1100fb_init(void);
-extern void sa1100fb_setup(char*);
+extern int sa1100fb_init(void);
+extern int sa1100fb_setup(char*);
 extern int fm2fb_init(void);
 extern int fm2fb_setup(char*);
 extern int q40fb_init(void);
@@ -411,6 +411,8 @@
 	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 @@
 		(*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);
 	}

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)