PDEBUG (0, "STV(e): Vendor/Product ID do not match STV0680 values."); PDEBUG (0, "STV(e): Check that the STV0680 camera is connected to the computer."); 
PDEBUG (0, "STV(e): Vendor/Product ID do not match STV0680 or Creative WebCam Go Mini values."); PDEBUG (0, "STV(e): Check that the STV0680 or Creative WebCam Go Mini camera is connected to the computer."); 
static int stv680_probe (struct usb_interface *intf, const struct usb_device_id *id){	struct usb_device *dev = interface_to_usbdev(intf);	struct usb_host_interface *interface;	struct usb_stv *stv680 = NULL;	char *camera_name = NULL;	int retval = 0;	/* We don't handle multi-config cameras */	if (dev->descriptor.bNumConfigurations != 1) {		PDEBUG (0, "STV(e): Number of Configurations != 1");		return -ENODEV;	}	interface = &intf->altsetting[0];	/* Is it a STV680? */	if ((le16_to_cpu(dev->descriptor.idVendor) == USB_PENCAM_VENDOR_ID) &&	    (le16_to_cpu(dev->descriptor.idProduct) == USB_PENCAM_PRODUCT_ID)) {		camera_name = "STV0680";		PDEBUG (0, "STV(i): STV0680 camera found.");	} else {		PDEBUG (0, "STV(e): Vendor/Product ID do not match STV0680 values.");		PDEBUG (0, "STV(e): Check that the STV0680 camera is connected to the computer.");		retval = -ENODEV;		goto error;	}	/* We found one */	if ((stv680 = kmalloc (sizeof (*stv680), GFP_KERNEL)) == NULL) {		PDEBUG (0, "STV(e): couldn't kmalloc stv680 struct.");		retval = -ENOMEM;		goto error;	}	memset (stv680, 0, sizeof (*stv680));	stv680->udev = dev;	stv680->camera_name = camera_name;	stv680->vdev = video_device_alloc();	if (!stv680->vdev) {		retval = -ENOMEM;		goto error;	}	memcpy(stv680->vdev, &stv680_template, sizeof(stv680_template));	stv680->vdev->dev = &intf->dev;	video_set_drvdata(stv680->vdev, stv680);	memcpy (stv680->vdev->name, stv680->camera_name, strlen (stv680->camera_name));	init_waitqueue_head (&stv680->wq);	init_MUTEX (&stv680->lock);	wmb ();	if (video_register_device (stv680->vdev, VFL_TYPE_GRABBER, video_nr) == -1) {		PDEBUG (0, "STV(e): video_register_device failed");		retval = -EIO;		goto error_vdev;	}	PDEBUG (0, "STV(i): registered new video device: video%d", stv680->vdev->minor);	usb_set_intfdata (intf, stv680);	stv680_create_sysfs_files(stv680->vdev);	return 0;error_vdev:	video_device_release(stv680->vdev);error:	kfree(stv680);	return retval;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/16367877949a91b11bcc6f37b94d0033388b4256/stv680.c/clean/drivers/usb/media/stv680.c