These things are only initialized if you start streaming video, but
they are also used in the disconnect function. So just init them
always during probe time.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
                usbvision->num_frames--;
        }
 
-       spin_lock_init(&usbvision->queue_lock);
-       init_waitqueue_head(&usbvision->wait_frame);
-       init_waitqueue_head(&usbvision->wait_stream);
-
        /* Allocate all buffers */
        for (i = 0; i < usbvision->num_frames; i++) {
                usbvision->frame[i].index = i;
 
 
        usbvision->nr = usbvision_nr++;
 
+       spin_lock_init(&usbvision->queue_lock);
+       init_waitqueue_head(&usbvision->wait_frame);
+       init_waitqueue_head(&usbvision->wait_stream);
+
        usbvision->have_tuner = usbvision_device_data[model].tuner;
        if (usbvision->have_tuner)
                usbvision->tuner_type = usbvision_device_data[model].tuner_type;