forked from luck/tmp_suning_uos_patched
media: v4l2-mem2mem.c: fix broken links
The topology that v4l2_m2m_register_media_controller() creates for a processing block actually created a source-to-source link and a sink-to-sink link instead of two source-to-sink links. Unfortunately v4l2-compliance never checked for such bad links, so this went unreported for quite some time. Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Reported-by: Nicolas Dufresne <nicolas@ndufresne.ca> Cc: <stable@vger.kernel.org> # for v4.19 and up Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
This commit is contained in:
parent
49a56266f9
commit
316e730f1d
|
@ -880,12 +880,12 @@ int v4l2_m2m_register_media_controller(struct v4l2_m2m_dev *m2m_dev,
|
||||||
goto err_rel_entity1;
|
goto err_rel_entity1;
|
||||||
|
|
||||||
/* Connect the three entities */
|
/* Connect the three entities */
|
||||||
ret = media_create_pad_link(m2m_dev->source, 0, &m2m_dev->proc, 1,
|
ret = media_create_pad_link(m2m_dev->source, 0, &m2m_dev->proc, 0,
|
||||||
MEDIA_LNK_FL_IMMUTABLE | MEDIA_LNK_FL_ENABLED);
|
MEDIA_LNK_FL_IMMUTABLE | MEDIA_LNK_FL_ENABLED);
|
||||||
if (ret)
|
if (ret)
|
||||||
goto err_rel_entity2;
|
goto err_rel_entity2;
|
||||||
|
|
||||||
ret = media_create_pad_link(&m2m_dev->proc, 0, &m2m_dev->sink, 0,
|
ret = media_create_pad_link(&m2m_dev->proc, 1, &m2m_dev->sink, 0,
|
||||||
MEDIA_LNK_FL_IMMUTABLE | MEDIA_LNK_FL_ENABLED);
|
MEDIA_LNK_FL_IMMUTABLE | MEDIA_LNK_FL_ENABLED);
|
||||||
if (ret)
|
if (ret)
|
||||||
goto err_rm_links0;
|
goto err_rm_links0;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user