[media] solo6x10: clean up properly in stop_streaming
This fixes warning from drivers/media/v4l2-core/videobuf2-core.c, WARN_ON(atomic_read(&q->owned_by_drv_count)). Signed-off-by: Andrey Utkin <andrey.krieger.utkin@gmail.com> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
This commit is contained in:
Родитель
85273c382e
Коммит
9ccd180964
|
@ -781,9 +781,19 @@ static int solo_enc_start_streaming(struct vb2_queue *q, unsigned int count)
|
|||
static void solo_enc_stop_streaming(struct vb2_queue *q)
|
||||
{
|
||||
struct solo_enc_dev *solo_enc = vb2_get_drv_priv(q);
|
||||
unsigned long flags;
|
||||
|
||||
spin_lock_irqsave(&solo_enc->av_lock, flags);
|
||||
solo_enc_off(solo_enc);
|
||||
INIT_LIST_HEAD(&solo_enc->vidq_active);
|
||||
while (!list_empty(&solo_enc->vidq_active)) {
|
||||
struct solo_vb2_buf *buf = list_entry(
|
||||
solo_enc->vidq_active.next,
|
||||
struct solo_vb2_buf, list);
|
||||
|
||||
list_del(&buf->list);
|
||||
vb2_buffer_done(&buf->vb, VB2_BUF_STATE_ERROR);
|
||||
}
|
||||
spin_unlock_irqrestore(&solo_enc->av_lock, flags);
|
||||
solo_ring_stop(solo_enc->solo_dev);
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче