It's not a critical error to call __fimc_pipeline_close() with missing
sensor subdev entity. Replace WARN_ON() with pr_warn() and return 0
instead of -EINVAL to fix control flow in some conditions.

Signed-off-by: Sylwester Nawrocki <s.nawro...@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.p...@samsung.com>
---
 drivers/media/platform/exynos4-is/media-dev.c |   14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/drivers/media/platform/exynos4-is/media-dev.c 
b/drivers/media/platform/exynos4-is/media-dev.c
index bf932d7..beec27b 100644
--- a/drivers/media/platform/exynos4-is/media-dev.c
+++ b/drivers/media/platform/exynos4-is/media-dev.c
@@ -247,16 +247,16 @@ static int __fimc_pipeline_close(struct 
exynos_media_pipeline *ep)
        struct fimc_pipeline *p = to_fimc_pipeline(ep);
        struct v4l2_subdev *sd = p ? p->subdevs[IDX_SENSOR] : NULL;
        struct fimc_md *fmd;
-       int ret = 0;
-
-       if (WARN_ON(sd == NULL))
-               return -EINVAL;
+       int ret;
 
-       if (p->subdevs[IDX_SENSOR]) {
-               ret = fimc_pipeline_s_power(p, 0);
-               fimc_md_set_camclk(sd, false);
+       if (sd == NULL) {
+               pr_warn("%s(): No sensor subdev\n", __func__);
+               return 0;
        }
 
+       ret = fimc_pipeline_s_power(p, 0);
+       fimc_md_set_camclk(sd, false);
+
        fmd = entity_to_fimc_mdev(&sd->entity);
 
        /* Disable PXLASYNC clock if this pipeline includes FIMC-IS */
-- 
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to