linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / drivers / media / video / cpia_usb.c
index 6b602be..03275c3 100644 (file)
@@ -308,7 +308,7 @@ static int WritePacket(struct usb_device *udev, const u8 *packet, u8 *buf, size_
                         packet[1] + (packet[0] << 8),
                         USB_TYPE_VENDOR | USB_RECIP_DEVICE,
                         packet[2] + (packet[3] << 8), 
-                        packet[4] + (packet[5] << 8), buf, size, HZ);
+                        packet[4] + (packet[5] << 8), buf, size, 1000);
 }
 
 /****************************************************************************
@@ -325,7 +325,7 @@ static int ReadPacket(struct usb_device *udev, u8 *packet, u8 *buf, size_t size)
                         packet[1] + (packet[0] << 8),
                         USB_DIR_IN | USB_TYPE_VENDOR | USB_RECIP_DEVICE,
                         packet[2] + (packet[3] << 8), 
-                        packet[4] + (packet[5] << 8), buf, size, HZ);
+                        packet[4] + (packet[5] << 8), buf, size, 1000);
 }
 
 static int cpia_usb_transferCmd(void *privdata, u8 *command, u8 *data)
@@ -440,26 +440,22 @@ static void cpia_usb_free_resources(struct usb_cpia *ucpia, int try)
 
        /* Unschedule all of the iso td's */
        if (ucpia->sbuf[1].urb) {
-               usb_unlink_urb(ucpia->sbuf[1].urb);
+               usb_kill_urb(ucpia->sbuf[1].urb);
                usb_free_urb(ucpia->sbuf[1].urb);
                ucpia->sbuf[1].urb = NULL;
        }
 
-       if (ucpia->sbuf[1].data) {
-               kfree(ucpia->sbuf[1].data);
-               ucpia->sbuf[1].data = NULL;
-       }
+       kfree(ucpia->sbuf[1].data);
+       ucpia->sbuf[1].data = NULL;
  
        if (ucpia->sbuf[0].urb) {
-               usb_unlink_urb(ucpia->sbuf[0].urb);
+               usb_kill_urb(ucpia->sbuf[0].urb);
                usb_free_urb(ucpia->sbuf[0].urb);
                ucpia->sbuf[0].urb = NULL;
        }
 
-       if (ucpia->sbuf[0].data) {
-               kfree(ucpia->sbuf[0].data);
-               ucpia->sbuf[0].data = NULL;
-       }
+       kfree(ucpia->sbuf[0].data);
+       ucpia->sbuf[0].data = NULL;
 }
 
 static int cpia_usb_close(void *privdata)
@@ -499,18 +495,16 @@ static int cpia_probe(struct usb_interface *intf,
        if (udev->descriptor.bNumConfigurations != 1)
                return -ENODEV;
 
-       interface = &intf->altsetting[0];
+       interface = intf->cur_altsetting;
 
        printk(KERN_INFO "USB CPiA camera found\n");
 
-       ucpia = kmalloc(sizeof(*ucpia), GFP_KERNEL);
+       ucpia = kzalloc(sizeof(*ucpia), GFP_KERNEL);
        if (!ucpia) {
                printk(KERN_ERR "couldn't kmalloc cpia struct\n");
                return -ENOMEM;
        }
 
-       memset(ucpia, 0, sizeof(*ucpia));
-
        ucpia->dev = udev;
        ucpia->iface = interface->desc.bInterfaceNumber;
        init_waitqueue_head(&ucpia->wq_stream);
@@ -586,7 +580,6 @@ MODULE_LICENSE("GPL");
 
 
 static struct usb_driver cpia_driver = {
-       .owner          = THIS_MODULE,
        .name           = "cpia",
        .probe          = cpia_probe,
        .disconnect     = cpia_disconnect,
@@ -620,25 +613,17 @@ static void cpia_disconnect(struct usb_interface *intf)
                wake_up_interruptible(&ucpia->wq_stream);
 
        udev = interface_to_usbdev(intf);
-       usb_driver_release_interface(&cpia_driver,
-                                    udev->actconfig->interface[0]);
 
        ucpia->curbuff = ucpia->workbuff = NULL;
 
-       if (ucpia->buffers[2]) {
-               vfree(ucpia->buffers[2]);
-               ucpia->buffers[2] = NULL;
-       }
+       vfree(ucpia->buffers[2]);
+       ucpia->buffers[2] = NULL;
 
-       if (ucpia->buffers[1]) {
-               vfree(ucpia->buffers[1]);
-               ucpia->buffers[1] = NULL;
-       }
+       vfree(ucpia->buffers[1]);
+       ucpia->buffers[1] = NULL;
 
-       if (ucpia->buffers[0]) {
-               vfree(ucpia->buffers[0]);
-               ucpia->buffers[0] = NULL;
-       }
+       vfree(ucpia->buffers[0]);
+       ucpia->buffers[0] = NULL;
 
        cam->lowlevel_data = NULL;
        kfree(ucpia);