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 */