Merge branches 'release', 'asus', 'sony-laptop' and 'thinkpad' into release
[pandora-kernel.git] / drivers / media / video / usbvision / usbvision-video.c
index d929ced..df52f8a 100644 (file)
@@ -131,7 +131,7 @@ static struct usbvision_v4l2_format_st usbvision_v4l2_format[] = {
 /* Function prototypes */
 static void usbvision_release(struct usb_usbvision *usbvision);
 
-/* Default initalization of device driver parameters */
+/* Default initialization of device driver parameters */
 /* Set the default format for ISOC endpoint */
 static int isocMode = ISOC_MODE_COMPRESS;
 /* Set the default Debug Mode of the device driver */
@@ -1290,8 +1290,8 @@ static int usbvision_radio_open(struct inode *inode, struct file *file)
                errCode = usbvision_set_alternate(usbvision);
                if (errCode < 0) {
                        usbvision->last_error = errCode;
-                       mutex_unlock(&usbvision->lock);
-                       return -EBUSY;
+                       errCode = -EBUSY;
+                       goto out;
                }
 
                // If so far no errors then we shall start the radio
@@ -1308,6 +1308,7 @@ static int usbvision_radio_open(struct inode *inode, struct file *file)
                        usbvision->initialized = 0;
                }
        }
+out:
        mutex_unlock(&usbvision->lock);
        return errCode;
 }
@@ -1650,7 +1651,6 @@ static struct usb_usbvision *usbvision_alloc(struct usb_device *dev)
                goto err_exit;
        }
        init_waitqueue_head(&usbvision->ctrlUrb_wq);
-       init_MUTEX(&usbvision->ctrlUrbLock);    /* to 1 == available */
 
        usbvision_init_powerOffTimer(usbvision);