summaryrefslogtreecommitdiffstats
path: root/drivers/media/platform/omap3isp
diff options
context:
space:
mode:
authorSakari Ailus <sakari.ailus@linux.intel.com>2019-08-07 16:21:27 +0200
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>2019-08-15 13:07:04 +0200
commit7ef57be07ac146e70535747797ef4aee0f06e9f9 (patch)
treef8aac865b58107c6241ff8c1cfb042d61be1ff30 /drivers/media/platform/omap3isp
parentmedia: omap3isp: Set device on omap3isp subdevs (diff)
downloadlinux-7ef57be07ac146e70535747797ef4aee0f06e9f9.tar.xz
linux-7ef57be07ac146e70535747797ef4aee0f06e9f9.zip
media: omap3isp: Don't set streaming state on random subdevs
The streaming state should be set to the first upstream sub-device only, not everywhere, for a sub-device driver itself knows how to best control the streaming state of its own upstream sub-devices. Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Diffstat (limited to 'drivers/media/platform/omap3isp')
-rw-r--r--drivers/media/platform/omap3isp/isp.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/media/platform/omap3isp/isp.c b/drivers/media/platform/omap3isp/isp.c
index 36fb3bef7dbe..327c5716922a 100644
--- a/drivers/media/platform/omap3isp/isp.c
+++ b/drivers/media/platform/omap3isp/isp.c
@@ -719,6 +719,10 @@ static int isp_pipeline_enable(struct isp_pipeline *pipe,
s_stream, mode);
pipe->do_propagation = true;
}
+
+ /* Stop at the first external sub-device. */
+ if (subdev->dev != isp->dev)
+ break;
}
return 0;
@@ -833,6 +837,10 @@ static int isp_pipeline_disable(struct isp_pipeline *pipe)
&subdev->entity);
failure = -ETIMEDOUT;
}
+
+ /* Stop at the first external sub-device. */
+ if (subdev->dev != isp->dev)
+ break;
}
return failure;