From 49163060a69b9734c77e6f71d5813372195012d4 Mon Sep 17 00:00:00 2001 From: Iliya Varadzhakov <ivarad@codeaurora.org> Date: Fri, 13 Mar 2015 07:33:18 -0700 Subject: [PATCH] msm: cpp: Update iommu handling CPP has to check for stream state before operate iommu contexts. Bug: 28814652 Change-Id: I5af5d126ba929f943be815fb51f69fdb09f53d43 Signed-off-by: Iliya Varadzhakov <ivarad@codeaurora.org> Signed-off-by: Yueyao (Nathan) Zhu <yueyao@google.com> --- drivers/media/platform/msm/camera_v2/pproc/cpp/msm_cpp.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/media/platform/msm/camera_v2/pproc/cpp/msm_cpp.c b/drivers/media/platform/msm/camera_v2/pproc/cpp/msm_cpp.c index ef54232c87dc..ed7cb41266bd 100644 --- a/drivers/media/platform/msm/camera_v2/pproc/cpp/msm_cpp.c +++ b/drivers/media/platform/msm/camera_v2/pproc/cpp/msm_cpp.c @@ -1911,7 +1911,8 @@ long msm_cpp_subdev_ioctl(struct v4l2_subdev *sd, break; } case VIDIOC_MSM_CPP_IOMMU_DETACH: { - if (cpp_dev->iommu_state == CPP_IOMMU_STATE_ATTACHED) { + if ((cpp_dev->iommu_state == CPP_IOMMU_STATE_ATTACHED) && + (cpp_dev->stream_cnt == 0)) { iommu_detach_device(cpp_dev->domain, cpp_dev->iommu_ctx); cpp_dev->iommu_state = CPP_IOMMU_STATE_DETACHED; -- GitLab