Merge "QCamera2: Increase map/unmap timeout to 1 sec."
diff --git a/QCamera2/stack/mm-camera-interface/src/mm_camera.c b/QCamera2/stack/mm-camera-interface/src/mm_camera.c
index 889d00d..2484be2 100644
--- a/QCamera2/stack/mm-camera-interface/src/mm_camera.c
+++ b/QCamera2/stack/mm-camera-interface/src/mm_camera.c
@@ -1629,9 +1629,19 @@
uint32_t evt_mask,
uint32_t *status)
{
+ int rc = 0;
+ struct timespec ts;
+
pthread_mutex_lock(&my_obj->evt_lock);
while (!(my_obj->evt_rcvd.server_event_type & evt_mask)) {
- pthread_cond_wait(&my_obj->evt_cond, &my_obj->evt_lock);
+ clock_gettime(CLOCK_REALTIME, &ts);
+ ts.tv_sec++;
+ rc = pthread_cond_timedwait(&my_obj->evt_cond, &my_obj->evt_lock, &ts);
+ if (rc == ETIMEDOUT) {
+ ALOGE("%s pthread_cond_timedwait success\n", __func__);
+ my_obj->evt_rcvd.status = MSM_CAMERA_STATUS_FAIL;
+ break;
+ }
}
*status = my_obj->evt_rcvd.status;
/* reset local storage for recieved event for next event */