summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-build-prod (mdb) <android-build-team-robot@google.com>2017-10-06 20:10:02 +0000
committerandroid-build-prod (mdb) <android-build-team-robot@google.com>2017-10-06 20:10:02 +0000
commit85cf2fa40fc6025a3daa5bc5b6acb46d2fc1149c (patch)
tree28b3ff1756643ef023d925cf66ae4c2af766ba33
parente02a2d01e6508bd77def309e7773953c8c3e236f (diff)
parent51c1316dd1d0273be481a35394392eb312df1076 (diff)
downloadmarlin-android-cts-8.0_r15.tar.gz
Change-Id: I94e648d79bc5e1612efac7c56ff33eb349ece05a
-rw-r--r--camera/QCamera2/HAL3/QCamera3HWI.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/camera/QCamera2/HAL3/QCamera3HWI.cpp b/camera/QCamera2/HAL3/QCamera3HWI.cpp
index 3d17918e..8ab7102f 100644
--- a/camera/QCamera2/HAL3/QCamera3HWI.cpp
+++ b/camera/QCamera2/HAL3/QCamera3HWI.cpp
@@ -3948,6 +3948,7 @@ int QCamera3HardwareInterface::processCaptureRequest(
(mLinkedCameraId != mCameraId) ) {
LOGE("Dualcam: mLinkedCameraId %d is invalid, current cam id = %d",
mLinkedCameraId, mCameraId);
+ pthread_mutex_unlock(&mMutex);
goto error_exit;
}
}
@@ -3965,6 +3966,7 @@ int QCamera3HardwareInterface::processCaptureRequest(
if (sessionId[mLinkedCameraId] == 0xDEADBEEF) {
LOGE("Dualcam: Invalid Session Id ");
pthread_mutex_unlock(&gCamLock);
+ pthread_mutex_unlock(&mMutex);
goto error_exit;
}
@@ -3984,6 +3986,7 @@ int QCamera3HardwareInterface::processCaptureRequest(
mCameraHandle->camera_handle, m_pRelCamSyncBuf);
if (rc < 0) {
LOGE("Dualcam: link failed");
+ pthread_mutex_unlock(&mMutex);
goto error_exit;
}
}
@@ -4183,6 +4186,7 @@ no_error:
if(ADD_SET_PARAM_ENTRY_TO_BATCH(mParameters,
CAM_INTF_META_FRAME_NUMBER, request->frame_number)) {
LOGE("Failed to set the frame number in the parameters");
+ pthread_mutex_unlock(&mMutex);
return BAD_VALUE;
}
}
@@ -4488,6 +4492,7 @@ no_error:
/* Update stream id of all the requested buffers */
if (ADD_SET_PARAM_ENTRY_TO_BATCH(mParameters, CAM_INTF_META_STREAM_ID, streamsArray)) {
LOGE("Failed to set stream type mask in the parameters");
+ pthread_mutex_unlock(&mMutex);
return BAD_VALUE;
}