|
@@ -447,7 +447,7 @@ static void sur40_process_video(struct sur40_state *sur40)
|
|
|
|
|
|
/* return error if streaming was stopped in the meantime */
|
|
/* return error if streaming was stopped in the meantime */
|
|
if (sur40->sequence == -1)
|
|
if (sur40->sequence == -1)
|
|
- goto err_poll;
|
|
|
|
|
|
+ return;
|
|
|
|
|
|
/* mark as finished */
|
|
/* mark as finished */
|
|
new_buf->vb.vb2_buf.timestamp = ktime_get_ns();
|
|
new_buf->vb.vb2_buf.timestamp = ktime_get_ns();
|
|
@@ -725,6 +725,7 @@ static int sur40_start_streaming(struct vb2_queue *vq, unsigned int count)
|
|
static void sur40_stop_streaming(struct vb2_queue *vq)
|
|
static void sur40_stop_streaming(struct vb2_queue *vq)
|
|
{
|
|
{
|
|
struct sur40_state *sur40 = vb2_get_drv_priv(vq);
|
|
struct sur40_state *sur40 = vb2_get_drv_priv(vq);
|
|
|
|
+ vb2_wait_for_all_buffers(vq);
|
|
sur40->sequence = -1;
|
|
sur40->sequence = -1;
|
|
|
|
|
|
/* Release all active buffers */
|
|
/* Release all active buffers */
|