From 8a80309b676088b21574bcbcb66946ad5ed4f474 Mon Sep 17 00:00:00 2001 From: Sylwester Nawrocki Date: Thu, 14 Dec 2017 16:55:15 +0100 Subject: Fix driver close sequence for front camera Ensure VIDIOC_S_CTRL calls are done only where required for specific FIMC-IS pipeline. Change-Id: I966ad7e68c0d19239ce437ca5b2cc40df836cd52 Signed-off-by: Sylwester Nawrocki --- camerasrc/src/camerasrc.c | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/camerasrc/src/camerasrc.c b/camerasrc/src/camerasrc.c index c781217..f3cb6b4 100644 --- a/camerasrc/src/camerasrc.c +++ b/camerasrc/src/camerasrc.c @@ -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) { -- cgit v1.2.3