Fix driver close sequence for front camera 14/164114/1
authorSylwester Nawrocki <s.nawrocki@samsung.com>
Thu, 14 Dec 2017 15:55:15 +0000 (16:55 +0100)
committerSylwester Nawrocki <s.nawrocki@samsung.com>
Fri, 15 Dec 2017 09:53:26 +0000 (10:53 +0100)
Ensure VIDIOC_S_CTRL calls are done only where required for specific
FIMC-IS pipeline.

Change-Id: I966ad7e68c0d19239ce437ca5b2cc40df836cd52
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
camerasrc/src/camerasrc.c

index c781217e2f616e913a025d252ef1855eb49cad8c..f3cb6b40ce621b643f2f20b958a1c58ba45da637 100644 (file)
@@ -3176,17 +3176,21 @@ int camerasrc_stop_stream(camsrc_handle_t handle)
                camsrc_info("[SENSOR] REQBUF 0 done");
        }
 
-       ret = _camerasrc_ioctl_s_ctrl(p, p->fd_3aa0, 0x9a1032, 4096);
-       if (ret != CAMERASRC_SUCCESS)
-               camsrc_error("[3AA0] _camerasrc_ioctl_s_ctrl failed[%x]", ret);
 
-       ret = _camerasrc_ioctl_s_ctrl(p, p->fd_3aa0, 0x9a1032, 4096);
-       if (ret != CAMERASRC_SUCCESS)
-               camsrc_error("[3AA0] _camerasrc_ioctl_s_ctrl failed[%x]", ret);
+       if (p->cur_dev_id == CAMERASRC_DEV_ID_PRIMARY) {
+               ret = _camerasrc_ioctl_s_ctrl(p, p->fd_3aa0, 0x9a1032, 4096);
+               if (ret != CAMERASRC_SUCCESS)
+                       camsrc_error("[3AA0] _camerasrc_ioctl_s_ctrl failed[%x]", ret);
+
+               ret = _camerasrc_ioctl_s_ctrl(p, p->fd_3aa0, 0x9a1032, 4096);
+               if (ret != CAMERASRC_SUCCESS)
+                       camsrc_error("[3AA0] _camerasrc_ioctl_s_ctrl failed[%x]", ret);
+
+               ret = _camerasrc_ioctl_s_ctrl(p, p->fd_isp, 0x9a1032, 4096);
+               if (ret != CAMERASRC_SUCCESS)
+                       camsrc_error("[ISP] _camerasrc_ioctl_s_ctrl failed[%x]", ret);
+       }
 
-       ret = _camerasrc_ioctl_s_ctrl(p, p->fd_isp, 0x9a1032, 4096);
-       if (ret != CAMERASRC_SUCCESS)
-               camsrc_error("[ISP] _camerasrc_ioctl_s_ctrl failed[%x]", ret);
 
        /* 3AA0 - OUTPUT */
        if (p->streamon_3aa0_output) {