fimc-is: Suppress warning generated in fimc_is_group_buffer_finish()
authorSylwester Nawrocki <s.nawrocki@samsung.com>
Thu, 19 Apr 2018 12:04:41 +0000 (14:04 +0200)
committerJunghoon Kim <jhoon20.kim@samsung.com>
Thu, 14 Feb 2019 05:57:30 +0000 (14:57 +0900)
Due to videobuf2 queue cancel call fimc_is_group_buffer_finish() function
may be called with invalid group->id. Just return EINVAL instead of WARN_ON()
when group->id has GROUP_ID_INVALID value so as to avoid unneeded stack dumps
in kernel log while closing video device nodes.

Change-Id: I3c5d6fec997ceaf5ae28e2537cfbca9405040bb0
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
drivers/media/platform/exynos/fimc-is/fimc-is-groupmgr.c

index 67813e8..2713473 100644 (file)
@@ -1414,8 +1414,10 @@ int fimc_is_group_buffer_finish(struct fimc_is_groupmgr *groupmgr,
        BUG_ON(!group->leader.vctx);
        BUG_ON(group->instance >= FIMC_IS_MAX_NODES);
 
-       if (WARN_ON(group->id >= GROUP_ID_MAX))
+       if (group->id >= GROUP_ID_MAX) {
+               WARN_ON(group->id != GROUP_ID_INVALID);
                return -EINVAL;
+       }
 
        if (WARN_ON(index >= FRAMEMGR_MAX_REQUEST))
                return -EINVAL;