Message ID | 788b10195174037a7d3d3011c9f2a4a7170bc0a8.1454538542.git.mchehab@osg.samsung.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Am 03.02.2016 um 23:30 schrieb Mauro Carvalho Chehab: > changeset 70433a152f0 ("media: videobuf2: Refactor vb2_fileio_data > and vb2_thread") broke videobuf2-dvb. > > The root cause is that, instead of calling threadio->fnc() for > all types of events except for VB2_BUF_STATE_ERROR, it was calling > it only for VB2_BUF_STATE_DONE. > > With that, the DVB thread were never called. > With this patch applied, I can confirm that receiving of dvb data works again. Regards Matthias -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/media/v4l2-core/videobuf2-core.c b/drivers/media/v4l2-core/videobuf2-core.c index 27b3ed01ce4d..dab94080ec3a 100644 --- a/drivers/media/v4l2-core/videobuf2-core.c +++ b/drivers/media/v4l2-core/videobuf2-core.c @@ -2743,7 +2743,7 @@ static int vb2_thread(void *data) break; try_to_freeze(); - if (vb->state == VB2_BUF_STATE_DONE) + if (vb->state != VB2_BUF_STATE_ERROR) if (threadio->fnc(vb, threadio->priv)) break; call_void_qop(q, wait_finish, q);
changeset 70433a152f0 ("media: videobuf2: Refactor vb2_fileio_data and vb2_thread") broke videobuf2-dvb. The root cause is that, instead of calling threadio->fnc() for all types of events except for VB2_BUF_STATE_ERROR, it was calling it only for VB2_BUF_STATE_DONE. With that, the DVB thread were never called. Cc: Hans Verkuil <hverkuil@xs4all.nl> Cc: Junghak Sung <jh1009.sung@samsung.com> Cc: Matthias Schwarzott <zzam@gentoo.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com> --- This patch should be applied after https://patchwork.linuxtv.org/patch/32734/ drivers/media/v4l2-core/videobuf2-core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)