summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--camera/QCamera2/stack/mm-camera-interface/src/mm_camera.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/camera/QCamera2/stack/mm-camera-interface/src/mm_camera.c b/camera/QCamera2/stack/mm-camera-interface/src/mm_camera.c
index 89dc2de..72c7f53 100644
--- a/camera/QCamera2/stack/mm-camera-interface/src/mm_camera.c
+++ b/camera/QCamera2/stack/mm-camera-interface/src/mm_camera.c
@@ -252,14 +252,15 @@ int32_t mm_camera_open(mm_camera_obj_t *my_obj)
do{
n_try--;
+ errno = 0;
my_obj->ctrl_fd = open(dev_name, O_RDWR | O_NONBLOCK);
CDBG("%s: ctrl_fd = %d, errno == %d", __func__, my_obj->ctrl_fd, errno);
- if((my_obj->ctrl_fd >= 0) || (errno != EIO) || (n_try <= 0 )) {
+ if((my_obj->ctrl_fd >= 0) || (errno != EIO && errno != ETIMEDOUT) || (n_try <= 0 )) {
CDBG_HIGH("%s: opened, break out while loop", __func__);
break;
}
- CDBG_HIGH("%s:failed with I/O error retrying after %d milli-seconds",
- __func__, sleep_msec);
+ ALOGE("%s:Failed with %s error, retrying after %d milli-seconds",
+ __func__, strerror(errno), sleep_msec);
usleep(sleep_msec * 1000);
}while (n_try > 0);