Эх сурвалжийг харах

V4L/DVB (11990): saa7134-video.c: fix the block bug

when re-open or re-start (video_streamon), the q->curr would not be NULL in saa7134_buffer_queue(),
and all the qbuf will add to q->queue list,no one to do activate to start DMA,and then no interrupt
would happened,so it will be block.

In VIDEOBUF_NEEDS_INIT state, initialize the curr pointer to be NULL in the buffer_prepare().

Signed-off-by: Figo.zhang <figo.zhang@kolorific.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
figo.zhang 16 жил өмнө
parent
commit
d5709a0e3d

+ 1 - 0
drivers/media/video/saa7134/saa7134-video.c

@@ -1057,6 +1057,7 @@ static int buffer_prepare(struct videobuf_queue *q,
 		buf->vb.field  = field;
 		buf->fmt       = fh->fmt;
 		buf->pt        = &fh->pt_cap;
+		dev->video_q.curr = NULL;
 
 		err = videobuf_iolock(q,&buf->vb,&dev->ovbuf);
 		if (err)