summaryrefslogtreecommitdiff
path: root/camera
diff options
context:
space:
mode:
authorZhijun He <zhijunhe@google.com>2014-09-16 20:04:14 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-09-16 20:04:14 +0000
commit7cae0f00b0e82a1d7940476eeeb856bf547fde9c (patch)
treee2046d388a04d2399160e26694b74bf144372490 /camera
parent520d13bbdafdaf6a9277d4f24b71a4a886de4ac8 (diff)
parentff3faea86c4fa6a4ff266533783e98c5bfe40104 (diff)
downloadshamu-7cae0f00b0e82a1d7940476eeeb856bf547fde9c.tar.gz
Merge "Camera3: Fix invalid file description check" into lmp-dev
Diffstat (limited to 'camera')
-rw-r--r--camera/QCamera/stack/mm-camera-interface/src/mm_camera_sock.c2
-rw-r--r--camera/QCamera2/HAL3/QCamera3Mem.cpp2
-rw-r--r--camera/QCamera2/stack/mm-camera-interface/src/mm_camera.c24
-rw-r--r--camera/QCamera2/stack/mm-camera-interface/src/mm_camera_channel.c1
-rw-r--r--camera/QCamera2/stack/mm-camera-interface/src/mm_camera_interface.c24
-rw-r--r--camera/QCamera2/stack/mm-camera-interface/src/mm_camera_stream.c7
-rw-r--r--camera/QCamera2/stack/mm-camera-interface/src/mm_camera_thread.c10
-rw-r--r--camera/QCamera2/stack/mm-camera-test/src/mm_qcamera_socket.c18
8 files changed, 47 insertions, 41 deletions
diff --git a/camera/QCamera/stack/mm-camera-interface/src/mm_camera_sock.c b/camera/QCamera/stack/mm-camera-interface/src/mm_camera_sock.c
index 9d149506..332821ab 100644
--- a/camera/QCamera/stack/mm-camera-interface/src/mm_camera_sock.c
+++ b/camera/QCamera/stack/mm-camera-interface/src/mm_camera_sock.c
@@ -93,7 +93,7 @@ int mm_camera_socket_create(int cam_id, mm_camera_sock_type_t sock_type)
*==========================================================================*/
void mm_camera_socket_close(int fd)
{
- if (fd > 0) {
+ if (fd >= 0) {
close(fd);
}
}
diff --git a/camera/QCamera2/HAL3/QCamera3Mem.cpp b/camera/QCamera2/HAL3/QCamera3Mem.cpp
index e7191f06..05b47a00 100644
--- a/camera/QCamera2/HAL3/QCamera3Mem.cpp
+++ b/camera/QCamera2/HAL3/QCamera3Mem.cpp
@@ -327,7 +327,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 5f282ed7..4a689fa6 100644
--- a/camera/QCamera2/stack/mm-camera-interface/src/mm_camera.c
+++ b/camera/QCamera2/stack/mm-camera-interface/src/mm_camera.c
@@ -256,7 +256,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;
}
@@ -265,7 +265,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;
@@ -278,7 +278,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;
}
@@ -287,7 +287,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;
@@ -321,13 +321,13 @@ on_error:
CDBG_ERROR("%s: Invalid camera object\n", __func__);
rc = -1;
} else {
- 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;
}
}
@@ -361,13 +361,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 a3587559..79d75649 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
@@ -903,6 +903,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 ce59f6e4..936e35aa 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
@@ -1283,14 +1283,14 @@ void get_sensor_info()
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_CONFIGURATION_NAME, sizeof(mdev_info.model)) != 0) {
close(dev_fd);
- dev_fd = 0;
+ dev_fd = -1;
continue;
}
@@ -1328,7 +1328,7 @@ void get_sensor_info()
__func__, num_cameras, g_cam_ctrl.video_dev_name[num_cameras]);
close(dev_fd);
- dev_fd = 0;
+ dev_fd = -1;
}
CDBG("%s: num_cameras=%d\n", __func__, g_cam_ctrl.num_cam);
@@ -1386,14 +1386,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;
break;
}
if (strncmp(mdev_info.model, MSM_CONFIGURATION_NAME,
sizeof(mdev_info.model)) != 0) {
close(dev_fd);
- dev_fd = 0;
+ dev_fd = -1;
continue;
}
@@ -1417,7 +1417,7 @@ uint8_t get_num_of_cameras()
}
}
close(dev_fd);
- dev_fd = 0;
+ dev_fd = -1;
}
/* Open sensor_init subdev */
@@ -1433,7 +1433,7 @@ uint8_t get_num_of_cameras()
CDBG_ERROR("failed");
}
close(sd_fd);
- dev_fd = 0;
+ dev_fd = -1;
num_media_devices = 0;
@@ -1442,7 +1442,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: %s\n", strerror(errno));
break;
}
@@ -1452,14 +1452,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;
}
@@ -1486,7 +1486,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;
@@ -1616,6 +1616,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 02e8e801..4dff6891 100644
--- a/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_stream.c
+++ b/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_stream.c
@@ -396,7 +396,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;
@@ -409,7 +409,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;
@@ -828,7 +828,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);
}
@@ -839,6 +839,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 4975f3c1..3835f7b2 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
@@ -495,8 +495,8 @@ int32_t mm_camera_poll_thread_launch(mm_camera_poll_thread_t * poll_cb,
int32_t rc = 0;
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);
@@ -540,16 +540,18 @@ 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]);
}
pthread_mutex_destroy(&poll_cb->mutex);
pthread_cond_destroy(&poll_cb->cond_v);
memset(poll_cb, 0, sizeof(mm_camera_poll_thread_t));
+ poll_cb->pfds[0] = -1;
+ poll_cb->pfds[1] = -1;
return rc;
}
diff --git a/camera/QCamera2/stack/mm-camera-test/src/mm_qcamera_socket.c b/camera/QCamera2/stack/mm-camera-test/src/mm_qcamera_socket.c
index 6bbf748d..675d9c1a 100644
--- a/camera/QCamera2/stack/mm-camera-test/src/mm_qcamera_socket.c
+++ b/camera/QCamera2/stack/mm-camera-test/src/mm_qcamera_socket.c
@@ -726,7 +726,7 @@ void *eztune_proc(void *data)
lib_handle->tsctrl.proto = NULL;
close(client_socket);
- client_socket = 0;
+ client_socket = -1;
//tuneserver_check_status(&tsctrl);
} else {
CDBG("%s: Processing socket command\n", __func__);
@@ -740,7 +740,7 @@ void *eztune_proc(void *data)
lib_handle->tsctrl.proto = NULL;
close(client_socket);
- client_socket = 0;
+ client_socket = -1;
//tuneserver_check_status(&tsctrl);
continue;
}
@@ -791,7 +791,7 @@ void *eztune_proc(void *data)
if (result < 0) {
ALOGE("tuneserver_initialize_prevtuningp error!");
close(prev_client_socket);
- prev_client_socket = 0;
+ prev_client_socket = -1;
}
}
@@ -819,7 +819,7 @@ void *eztune_proc(void *data)
(char **)&lib_handle->tsctrl.proto->send_buf,
&lib_handle->tsctrl.proto->send_len);
close(prev_client_socket);
- prev_client_socket = 0;
+ prev_client_socket = -1;
} else {
result = prevserver_process_client_message((void *)buf,
&lib_handle->tsctrl);
@@ -833,7 +833,7 @@ void *eztune_proc(void *data)
(char **)&lib_handle->tsctrl.proto->send_buf,
&lib_handle->tsctrl.proto->send_len);
close(prev_client_socket);
- prev_client_socket = 0;
+ prev_client_socket = -1;
//tuneserver_check_status(&tsctrl);
}
//sleep(1);
@@ -841,16 +841,16 @@ void *eztune_proc(void *data)
}
} while (1);
- if (server_socket > 0) {
+ if (server_socket >= 0) {
close(server_socket);
}
- if (client_socket > 0) {
+ if (client_socket >= 0) {
close(client_socket);
}
- if (prev_server_socket > 0) {
+ if (prev_server_socket >= 0) {
close(prev_server_socket);
}
- if (prev_client_socket > 0) {
+ if (prev_client_socket >= 0) {
close(prev_client_socket);
}