aboutsummaryrefslogtreecommitdiff
path: root/drivers/media
diff options
context:
space:
mode:
authorMauro Carvalho Chehab2015-08-30 09:53:57 -0300
committerMauro Carvalho Chehab2016-01-11 12:18:58 -0200
commit39d1ebc6092f8266fb788733ca92b8492b1d69f2 (patch)
tree4cb4531fc744893e515cf693659ab0f353f1bacc /drivers/media
parent28b6ba1106b5864e6bdd1b75840ccf5b1ca3d1b7 (diff)
[media] media-device: supress backlinks at G_TOPOLOGY ioctl
Due to the graph traversal algorithm currently in usage, we need a copy of all data links. Those backlinks should not be send to userspace, as otherwise, all links there will be duplicated. Acked-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/media-device.c3
-rw-r--r--drivers/media/media-entity.c1
2 files changed, 4 insertions, 0 deletions
diff --git a/drivers/media/media-device.c b/drivers/media/media-device.c
index c7d97190a67e..30cef8740afa 100644
--- a/drivers/media/media-device.c
+++ b/drivers/media/media-device.c
@@ -333,6 +333,9 @@ static long __media_device_get_topology(struct media_device *mdev,
/* Get links and number of links */
i = 0;
media_device_for_each_link(link, mdev) {
+ if (link->is_backlink)
+ continue;
+
i++;
if (ret || !topo->links)
diff --git a/drivers/media/media-entity.c b/drivers/media/media-entity.c
index d9d42fab22ad..246d7e65aded 100644
--- a/drivers/media/media-entity.c
+++ b/drivers/media/media-entity.c
@@ -625,6 +625,7 @@ media_create_pad_link(struct media_entity *source, u16 source_pad,
backlink->source = &source->pads[source_pad];
backlink->sink = &sink->pads[sink_pad];
backlink->flags = flags;
+ backlink->is_backlink = true;
/* Initialize graph object embedded at the new link */
media_gobj_init(sink->graph_obj.mdev, MEDIA_GRAPH_LINK,