diff options
6 files changed, 30 insertions, 24 deletions
diff --git a/camera/QCamera2/HAL3/QCamera3Mem.cpp b/camera/QCamera2/HAL3/QCamera3Mem.cpp index 5c148ae..bd9e394 100644 --- a/camera/QCamera2/HAL3/QCamera3Mem.cpp +++ b/camera/QCamera2/HAL3/QCamera3Mem.cpp @@ -326,7 +326,7 @@ int QCamera3HeapMemory::allocOneBuffer(QCamera3MemInfo &memInfo, int heap_id, in int main_ion_fd = 0; main_ion_fd = open("/dev/ion", O_RDONLY); - if (main_ion_fd <= 0) { + if (main_ion_fd < 0) { ALOGE("Ion dev open failed: %s\n", strerror(errno)); goto ION_OPEN_FAILED; } 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 5417f25..89dc2de 100755 --- a/camera/QCamera2/stack/mm-camera-interface/src/mm_camera.c +++ b/camera/QCamera2/stack/mm-camera-interface/src/mm_camera.c @@ -254,7 +254,7 @@ int32_t mm_camera_open(mm_camera_obj_t *my_obj) n_try--; 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) || (n_try <= 0 )) { CDBG_HIGH("%s: opened, break out while loop", __func__); break; } @@ -263,7 +263,7 @@ int32_t mm_camera_open(mm_camera_obj_t *my_obj) usleep(sleep_msec * 1000); }while (n_try > 0); - if (my_obj->ctrl_fd <= 0) { + if (my_obj->ctrl_fd < 0) { CDBG_ERROR("%s: cannot open control fd of '%s' (%s)\n", __func__, dev_name, strerror(errno)); rc = -1; @@ -276,7 +276,7 @@ int32_t mm_camera_open(mm_camera_obj_t *my_obj) n_try--; my_obj->ds_fd = mm_camera_socket_create(cam_idx, MM_CAMERA_SOCK_TYPE_UDP); CDBG("%s: ds_fd = %d, errno = %d", __func__, my_obj->ds_fd, errno); - if((my_obj->ds_fd > 0) || (n_try <= 0 )) { + if((my_obj->ds_fd >= 0) || (n_try <= 0 )) { CDBG("%s: opened, break out while loop", __func__); break; } @@ -285,7 +285,7 @@ int32_t mm_camera_open(mm_camera_obj_t *my_obj) usleep(sleep_msec * 1000); } while (n_try > 0); - if (my_obj->ds_fd <= 0) { + if (my_obj->ds_fd < 0) { CDBG_ERROR("%s: cannot open domain socket fd of '%s'(%s)\n", __func__, dev_name, strerror(errno)); rc = -1; @@ -315,13 +315,13 @@ int32_t mm_camera_open(mm_camera_obj_t *my_obj) return rc; on_error: - if (my_obj->ctrl_fd > 0) { + if (my_obj->ctrl_fd >= 0) { close(my_obj->ctrl_fd); - my_obj->ctrl_fd = 0; + my_obj->ctrl_fd = -1; } - if (my_obj->ds_fd > 0) { + if (my_obj->ds_fd >= 0) { mm_camera_socket_close(my_obj->ds_fd); - my_obj->ds_fd = 0; + my_obj->ds_fd = -1; } /* we do not need to unlock cam_lock here before return @@ -354,13 +354,13 @@ int32_t mm_camera_close(mm_camera_obj_t *my_obj) CDBG("%s : Close evt cmd Thread in Cam Close",__func__); mm_camera_cmd_thread_release(&my_obj->evt_thread); - if(my_obj->ctrl_fd > 0) { + if(my_obj->ctrl_fd >= 0) { close(my_obj->ctrl_fd); - my_obj->ctrl_fd = 0; + my_obj->ctrl_fd = -1; } - if(my_obj->ds_fd > 0) { + if(my_obj->ds_fd >= 0) { mm_camera_socket_close(my_obj->ds_fd); - my_obj->ds_fd = 0; + my_obj->ds_fd = -1; } pthread_mutex_destroy(&my_obj->msg_lock); diff --git a/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_channel.c b/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_channel.c index 9a6b3f5..bea1104 100644 --- a/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_channel.c +++ b/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_channel.c @@ -708,6 +708,7 @@ uint32_t mm_channel_add_stream(mm_channel_t *my_obj) /* initialize stream object */ memset(stream_obj, 0, sizeof(mm_stream_t)); + stream_obj->fd = -1; stream_obj->my_hdl = mm_camera_util_generate_handler(idx); stream_obj->ch_obj = my_obj; pthread_mutex_init(&stream_obj->buf_lock, NULL); 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 f043bfb..7394fee 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 @@ -1258,7 +1258,7 @@ uint8_t get_num_of_cameras() int num_entities; snprintf(dev_name, sizeof(dev_name), "/dev/media%d", num_media_devices); dev_fd = open(dev_name, O_RDWR | O_NONBLOCK); - if (dev_fd <= 0) { + if (dev_fd < 0) { CDBG("Done discovering media devices\n"); break; } @@ -1268,14 +1268,14 @@ uint8_t get_num_of_cameras() if (rc < 0) { CDBG_ERROR("Error: ioctl media_dev failed: %s\n", strerror(errno)); close(dev_fd); - dev_fd = 0; + dev_fd = -1; num_cameras = 0; break; } if(strncmp(mdev_info.model, MSM_CAMERA_NAME, sizeof(mdev_info.model)) != 0) { close(dev_fd); - dev_fd = 0; + dev_fd = -1; continue; } @@ -1302,7 +1302,7 @@ uint8_t get_num_of_cameras() num_cameras++; close(dev_fd); - dev_fd = 0; + dev_fd = -1; } g_cam_ctrl.num_cam = num_cameras; @@ -1386,6 +1386,8 @@ mm_camera_vtbl_t * camera_open(uint8_t camera_idx) /* initialize camera obj */ memset(cam_obj, 0, sizeof(mm_camera_obj_t)); + cam_obj->ctrl_fd = -1; + cam_obj->ds_fd = -1; cam_obj->ref_count++; cam_obj->my_hdl = mm_camera_util_generate_handler(camera_idx); cam_obj->vtbl.camera_handle = cam_obj->my_hdl; /* set handler */ diff --git a/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_stream.c b/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_stream.c index 9181f78..d9c7412 100755 --- a/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_stream.c +++ b/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_stream.c @@ -411,7 +411,7 @@ int32_t mm_stream_fsm_inited(mm_stream_t *my_obj, mm_camera_util_get_dev_name(my_obj->ch_obj->cam_obj->my_hdl)); my_obj->fd = open(dev_name, O_RDWR | O_NONBLOCK); - if (my_obj->fd <= 0) { + if (my_obj->fd < 0) { CDBG_ERROR("%s: open dev returned %d\n", __func__, my_obj->fd); rc = -1; break; @@ -424,7 +424,7 @@ int32_t mm_stream_fsm_inited(mm_stream_t *my_obj, /* failed setting ext_mode * close fd */ close(my_obj->fd); - my_obj->fd = 0; + my_obj->fd = -1; break; } break; @@ -845,7 +845,7 @@ int32_t mm_stream_release(mm_stream_t *my_obj) __func__, my_obj->my_hdl, my_obj->fd, my_obj->state); /* close fd */ - if(my_obj->fd > 0) + if(my_obj->fd >= 0) { close(my_obj->fd); } @@ -856,6 +856,7 @@ int32_t mm_stream_release(mm_stream_t *my_obj) /* reset stream obj */ memset(my_obj, 0, sizeof(mm_stream_t)); + my_obj->fd = -1; return 0; } diff --git a/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_thread.c b/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_thread.c index 9f0dfe7..0e6c774 100644 --- a/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_thread.c +++ b/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_thread.c @@ -494,8 +494,8 @@ int32_t mm_camera_poll_thread_launch(mm_camera_poll_thread_t * poll_cb, poll_cb->poll_type = poll_type; - poll_cb->pfds[0] = 0; - poll_cb->pfds[1] = 0; + poll_cb->pfds[0] = -1; + poll_cb->pfds[1] = -1; rc = pipe(poll_cb->pfds); if(rc < 0) { CDBG_ERROR("%s: pipe open rc=%d\n", __func__, rc); @@ -544,10 +544,10 @@ int32_t mm_camera_poll_thread_release(mm_camera_poll_thread_t *poll_cb) } /* close pipe */ - if(poll_cb->pfds[0]) { + if(poll_cb->pfds[0] >= 0) { close(poll_cb->pfds[0]); } - if(poll_cb->pfds[1]) { + if(poll_cb->pfds[1] >= 0) { close(poll_cb->pfds[1]); } @@ -556,6 +556,8 @@ int32_t mm_camera_poll_thread_release(mm_camera_poll_thread_t *poll_cb) memset(poll_cb, 0, sizeof(mm_camera_poll_thread_t)); done: pthread_mutex_unlock(&constr_destr_lock); + poll_cb->pfds[0] = -1; + poll_cb->pfds[1] = -1; return rc; } |
