From: "Randy.Dunlap" From: (Walter Harms) --- 25-akpm/drivers/media/video/videodev.c | 15 ++++++++++++--- 1 files changed, 12 insertions(+), 3 deletions(-) diff -puN drivers/media/video/videodev.c~videodev-handle-class_register-failure drivers/media/video/videodev.c --- 25/drivers/media/video/videodev.c~videodev-handle-class_register-failure 2004-04-27 19:22:02.193710360 -0700 +++ 25-akpm/drivers/media/video/videodev.c 2004-04-27 19:22:02.197709752 -0700 @@ -397,12 +397,21 @@ static struct file_operations video_fops static int __init videodev_init(void) { + int ret; + printk(KERN_INFO "Linux video capture interface: v1.00\n"); - if (register_chrdev(VIDEO_MAJOR,VIDEO_NAME, &video_fops)) { - printk("video_dev: unable to get major %d\n", VIDEO_MAJOR); + if (register_chrdev(VIDEO_MAJOR, VIDEO_NAME, &video_fops)) { + printk(KERN_WARNING "video_dev: unable to get major %d\n", VIDEO_MAJOR); return -EIO; } - class_register(&video_class); + + ret = class_register(&video_class); + if (ret < 0) { + unregister_chrdev(VIDEO_MAJOR, VIDEO_NAME); + printk(KERN_WARNING "video_dev: class_register failed\n"); + return -EIO; + } + return 0; } _