diff options
Diffstat (limited to 'camera')
-rw-r--r-- | camera/QCamera2/stack/mm-camera-interface/src/mm_camera_interface.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_interface.c b/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_interface.c index 167e7fe..d7ce1cb 100644 --- a/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_interface.c +++ b/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_interface.c @@ -1688,6 +1688,7 @@ void sort_camera_info(int num_cam) uint8_t get_num_of_cameras() { int rc = 0; + int i = 0; int dev_fd = -1; struct media_device_info mdev_info; int num_media_devices = 0; @@ -1766,7 +1767,15 @@ uint8_t get_num_of_cameras() cfg.cfgtype = CFG_SINIT_PROBE_WAIT_DONE; cfg.cfg.setting = NULL; if (ioctl(sd_fd, VIDIOC_MSM_SENSOR_INIT_CFG, &cfg) < 0) { - LOGE("failed"); + LOGI("failed...Camera Daemon may not up so try again"); + for(i = 0; i < MM_CAMERA_EVT_ENTRY_MAX; i++) { + if (ioctl(sd_fd, VIDIOC_MSM_SENSOR_INIT_CFG, &cfg) < 0) { + LOGI("failed...Camera Daemon may not up so try again"); + continue; + } + else + break; + } } close(sd_fd); dev_fd = -1; |