/* If an error occurs, disable the video queue. This will wake all pending buffers, making sure userspace applications are notified of the problem instead of waiting forever.  */
int uvc_video_resume(struct uvc_streaming *stream)
/* If an error occurs, disable the video queue. This will wake all pending buffers, making sure userspace applications are notified of the problem instead of waiting forever.  */
int uvc_video_resume(struct uvc_streaming *stream)
{
	int ret;
	stream->frozen = 0;
	ret = uvc_commit_video(stream, &stream->ctrl);
	if (ret < 0) {
		uvc_queue_enable(&stream->queue, 0);
		return ret;
	}
	if (!uvc_queue_streaming(&stream->queue))
		return 0;
	ret = uvc_init_video(stream, GFP_NOIO);
	if (ret < 0)
		uvc_queue_enable(&stream->queue, 0);
	return ret;
}