Hi,
Here's a patch against 2.5.3-pre2 that for the USB vicam driver that
fixes the module reference logic in the driver. This patch was done by
Oliver Neukum.
thanks,
greg k-h
diff -Nru a/drivers/usb/vicam.c b/drivers/usb/vicam.c
--- a/drivers/usb/vicam.c Mon Jan 21 10:48:38 2002
+++ b/drivers/usb/vicam.c Mon Jan 21 10:48:38 2002
@@ -468,29 +468,23 @@
int err = 0;
dbg("vicam_v4l_open");
-
- MOD_INC_USE_COUNT;
+
down(&vicam->sem);
- if (vicam->open_count) /* Maybe not needed? */
- err = -EBUSY;
+ vicam->fbuf = rvmalloc(vicam->maxframesize * VICAM_NUMFRAMES);
+ if (!vicam->fbuf)
+ err=-ENOMEM;
else {
- vicam->fbuf = rvmalloc(vicam->maxframesize * VICAM_NUMFRAMES);
- if (!vicam->fbuf)
- err=-ENOMEM;
- else {
- vicam->open_count = 1;
- }
+ vicam->open_count = 1;
+ }
#ifdef BLINKING
- vicam_sndctrl(1, vicam, VICAM_REQ_CAMERA_POWER, 0x01, NULL, 0);
- info ("led on");
- vicam_sndctrl(1, vicam, VICAM_REQ_LED_CONTROL, 0x01, NULL, 0);
+ vicam_sndctrl(1, vicam, VICAM_REQ_CAMERA_POWER, 0x01, NULL, 0);
+ info ("led on");
+ vicam_sndctrl(1, vicam, VICAM_REQ_LED_CONTROL, 0x01, NULL, 0);
#endif
- }
up(&vicam->sem);
- if (err)
- MOD_DEC_USE_COUNT;
+
return err;
}
@@ -515,7 +509,6 @@
up(&vicam->sem);
/* Why does se401.c have a usbdevice check here? */
/* If device is unplugged while open, I guess we only may unregister now */
- MOD_DEC_USE_COUNT;
}
static long vicam_v4l_read(struct video_device *vdev, char *user_buf, unsigned long
buflen, int noblock)
@@ -717,6 +710,7 @@
/* FIXME - vicam_template - important */
static struct video_device vicam_template = {
+ owner: THIS_MODULE,
name: "vicam USB camera",
type: VID_TYPE_CAPTURE,
hardware: VID_HARDWARE_SE401, /* need to ask for own id */
@@ -938,6 +932,7 @@
/* usb specific object needed to register this driver with the usb subsystem */
static struct usb_driver vicam_driver = {
+ owner: THIS_MODULE,
name: "vicam",
probe: vicam_probe,
disconnect: vicam_disconnect,
@@ -984,3 +979,4 @@
module_init(usb_vicam_init);
module_exit(usb_vicam_exit);
+
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel