]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/media/video/stk-webcam.c
Fix compile warning in kernel/params.c
[linux-2.6-omap-h63xx.git] / drivers / media / video / stk-webcam.c
index f1d5b3eaa192bff624503e3d84ab41d5c717793f..e9eb6d754d5c85db037e9d41fa398a1e2589830a 100644 (file)
@@ -559,7 +559,7 @@ static void stk_clean_iso(struct stk_camera *dev)
 
                urb = dev->isobufs[i].urb;
                if (urb) {
-                       if (atomic_read(&dev->urbs_used))
+                       if (atomic_read(&dev->urbs_used) && is_present(dev))
                                usb_kill_urb(urb);
                        usb_free_urb(urb);
                }
@@ -688,18 +688,14 @@ static int v4l_stk_release(struct inode *inode, struct file *fp)
 {
        struct stk_camera *dev = fp->private_data;
 
-       if (dev->owner != fp) {
-               usb_autopm_put_interface(dev->interface);
-               return 0;
+       if (dev->owner == fp) {
+               stk_stop_stream(dev);
+               stk_free_buffers(dev);
+               dev->owner = NULL;
        }
 
-       stk_stop_stream(dev);
-
-       stk_free_buffers(dev);
-
-       dev->owner = NULL;
-
-       usb_autopm_put_interface(dev->interface);
+       if(is_present(dev))
+               usb_autopm_put_interface(dev->interface);
 
        return 0;
 }
@@ -1335,7 +1331,7 @@ static int stk_register_video_device(struct stk_camera *dev)
                STK_ERROR("v4l registration failed\n");
        else
                STK_INFO("Syntek USB2.0 Camera is now controlling video device"
-                       " /dev/video%d\n", dev->vdev.minor);
+                       " /dev/video%d\n", dev->vdev.num);
        return err;
 }
 
@@ -1430,7 +1426,7 @@ static void stk_camera_disconnect(struct usb_interface *interface)
        stk_remove_sysfs_files(&dev->vdev);
 
        STK_INFO("Syntek USB2.0 Camera release resources "
-               "video device /dev/video%d\n", dev->vdev.minor);
+               "video device /dev/video%d\n", dev->vdev.num);
 
        video_unregister_device(&dev->vdev);
 }