patch-2.4.7 linux/drivers/usb/ov511.c
Next file: linux/drivers/usb/printer.c
Previous file: linux/drivers/usb/mdc800.c
Back to the patch index
Back to the overall index
- Lines: 50
- Date:
Mon Jul 16 15:13:32 2001
- Orig file:
v2.4.6/linux/drivers/usb/ov511.c
- Orig date:
Tue Jul 3 17:08:21 2001
diff -u --recursive --new-file v2.4.6/linux/drivers/usb/ov511.c linux/drivers/usb/ov511.c
@@ -152,6 +152,7 @@
MODULE_PARM_DESC(sensor_gbr, "Make sensor output GBR422 rather than YUV420");
MODULE_PARM(dumppix, "i");
MODULE_PARM_DESC(dumppix, "Dump raw pixel data, in one of 3 formats. See ov511_dumppix() for details");
+MODULE_PARM(video_nr,"i");
MODULE_AUTHOR( DRIVER_AUTHOR );
MODULE_DESCRIPTION( DRIVER_DESC );
@@ -2521,6 +2522,9 @@
PDEBUG(4, "syncing to frame %d, grabstate = %d", frame,
ov511->frame[frame].grabstate);
+ if(frame < 0 || frame >= OV511_NUMFRAMES)
+ return -EINVAL;
+
switch (ov511->frame[frame].grabstate) {
case FRAME_UNUSED:
return -EINVAL;
@@ -3146,11 +3150,6 @@
init_waitqueue_head(&ov511->wq);
- if (video_register_device(&ov511->vdev, VFL_TYPE_GRABBER, video_nr) < 0) {
- err("video_register_device failed");
- return -EBUSY;
- }
-
if (ov511_write_regvals(dev, aRegvalsInit)) goto error;
if (ov511_write_regvals(dev, aRegvalsNorm511)) goto error;
@@ -3219,7 +3218,6 @@
return 0;
error:
- video_unregister_device(&ov511->vdev);
usb_driver_release_interface(&ov511_driver,
&dev->actconfig->interface[ov511->iface]);
@@ -3328,6 +3326,11 @@
ov511->buf_state = BUF_NOT_ALLOCATED;
} else {
err("Failed to configure camera");
+ goto error;
+ }
+
+ if (video_register_device(&ov511->vdev, VFL_TYPE_GRABBER, video_nr) < 0) {
+ err("video_register_device failed");
goto error;
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)