| From 316e730f1d8bb029fe6cec2468fb2a50424485b3 Mon Sep 17 00:00:00 2001 |
| From: Hans Verkuil <hverkuil-cisco@xs4all.nl> |
| Date: Tue, 4 Feb 2020 19:13:06 +0100 |
| Subject: media: v4l2-mem2mem.c: fix broken links |
| |
| From: Hans Verkuil <hverkuil-cisco@xs4all.nl> |
| |
| commit 316e730f1d8bb029fe6cec2468fb2a50424485b3 upstream. |
| |
| 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> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/media/v4l2-core/v4l2-mem2mem.c | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| --- a/drivers/media/v4l2-core/v4l2-mem2mem.c |
| +++ b/drivers/media/v4l2-core/v4l2-mem2mem.c |
| @@ -880,12 +880,12 @@ int v4l2_m2m_register_media_controller(s |
| goto err_rel_entity1; |
| |
| /* 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); |
| if (ret) |
| 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); |
| if (ret) |
| goto err_rm_links0; |