diff options
author | Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> | 2014-06-24 01:40:49 +0400 |
---|---|---|
committer | Mauro Carvalho Chehab <m.chehab@samsung.com> | 2014-07-17 19:44:49 +0400 |
commit | aaa48cbb098e13cf9c22066b8c65958a7243fb95 (patch) | |
tree | 15c05af171ff80e55c766003b49f982b6b8c2488 /drivers/media/platform/vsp1 | |
parent | bd994ddb2a12a3ff48cd549ec82cdceaea9614df (diff) | |
download | linux-aaa48cbb098e13cf9c22066b8c65958a7243fb95.tar.xz |
[media] v4l: vsp1: Fix routing cleanup when stopping the stream
Commit d9b45ed3d8b75e8cf38c8cd1563c29217eecba27 ("v4l: vsp1: Support
multi-input entities") reworked pipeline routing configuration and
introduced a bug by writing to the entities routing registers without
first checking whether the entity had a routing register. This results
in overwriting the value at offset 0 of the device register space when
stopping the stream.
Fix this by skipping routing register write for entities without a
routing register.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Diffstat (limited to 'drivers/media/platform/vsp1')
-rw-r--r-- | drivers/media/platform/vsp1/vsp1_video.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/media/platform/vsp1/vsp1_video.c b/drivers/media/platform/vsp1/vsp1_video.c index 677e3aa04eee..c717e288d0ee 100644 --- a/drivers/media/platform/vsp1/vsp1_video.c +++ b/drivers/media/platform/vsp1/vsp1_video.c @@ -479,7 +479,7 @@ static int vsp1_pipeline_stop(struct vsp1_pipeline *pipe) ret = ret == 0 ? -ETIMEDOUT : 0; list_for_each_entry(entity, &pipe->entities, list_pipe) { - if (entity->route) + if (entity->route && entity->route->reg) vsp1_write(entity->vsp1, entity->route->reg, VI6_DPR_NODE_UNUSED); |