From: Laurent Pinchart Date: Mon, 23 Jun 2014 21:40:49 +0000 (-0300) Subject: v4l: vsp1: Fix routing cleanup when stopping the stream X-Git-Tag: v3.14.28+ltsi~234 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=bc5b18ca931e157f6a3d96079e7385fada1fa830;p=profile%2Fcommon%2Fkernel-common.git 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 Signed-off-by: Mauro Carvalho Chehab (cherry picked from commit aaa48cbb098e13cf9c22066b8c65958a7243fb95) Signed-off-by: Simon Horman --- diff --git a/drivers/media/platform/vsp1/vsp1_video.c b/drivers/media/platform/vsp1/vsp1_video.c index 41a5015..32fd41f 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);