diff options
author | PaulK <contact@paulk.fr> | 2011-10-31 14:53:50 +0100 |
---|---|---|
committer | PaulK <contact@paulk.fr> | 2011-10-31 14:53:50 +0100 |
commit | c9210b62c93a8f9a8bba249dfffc86762bc69234 (patch) | |
tree | 31de979b7daba2fb84e1291c0d27f60aeee97681 /samsung-ipc | |
parent | 644af30baa8bd6311f1fd67a86792b6c6195b1b3 (diff) | |
download | external_libsamsung-ipc-c9210b62c93a8f9a8bba249dfffc86762bc69234.zip external_libsamsung-ipc-c9210b62c93a8f9a8bba249dfffc86762bc69234.tar.gz external_libsamsung-ipc-c9210b62c93a8f9a8bba249dfffc86762bc69234.tar.bz2 |
Corrected wake_lock in crespo_ipc and split struct ipc_call_outgoing
Diffstat (limited to 'samsung-ipc')
-rw-r--r-- | samsung-ipc/device/crespo/crespo_ipc.c | 16 | ||||
-rw-r--r-- | samsung-ipc/device/crespo/crespo_ipc.h | 4 | ||||
-rw-r--r-- | samsung-ipc/ipc.c | 2 |
3 files changed, 11 insertions, 11 deletions
diff --git a/samsung-ipc/device/crespo/crespo_ipc.c b/samsung-ipc/device/crespo/crespo_ipc.c index 37f3575..762750d 100644 --- a/samsung-ipc/device/crespo/crespo_ipc.c +++ b/samsung-ipc/device/crespo/crespo_ipc.c @@ -335,23 +335,23 @@ int crespo_ipc_client_send(struct ipc_client *client, struct ipc_message_info *r return rc; } -int wake_lock(char *lock_name) +int wake_lock(char *lock_name, int len) { int rc = 0; wake_lock_fd = open("/sys/power/wake_lock", O_RDWR); - rc = write(wake_lock_fd, lock_name, strlen(lock_name)); + rc = write(wake_lock_fd, lock_name, len); close(wake_lock_fd); return rc; } -int wake_unlock(char *lock_name) +int wake_unlock(char *lock_name, int len) { int rc = 0; wake_lock_fd = open("/sys/power/wake_unlock", O_RDWR); - rc = write(wake_lock_fd, lock_name, strlen(lock_name)); + rc = write(wake_lock_fd, lock_name, len); close(wake_unlock_fd); return rc; @@ -369,7 +369,7 @@ int crespo_ipc_client_recv(struct ipc_client *client, struct ipc_message_info *r memset(response, 0, sizeof(struct ipc_message_info)); - wake_lock("secril_fmt-interface"); + wake_lock("secril_fmt-interface", 20); assert(client->handlers->read != NULL); bread = client->handlers->read((uint8_t*) &modem_data, sizeof(struct modem_io) + MAX_MODEM_DATA_SIZE, client->handlers->read_data); @@ -416,7 +416,7 @@ int crespo_ipc_client_recv(struct ipc_client *client, struct ipc_message_info *r ipc_client_log(client, ""); - wake_unlock("secril_fmt-interface"); + wake_unlock("secril_fmt-interface", 20); return 0; } @@ -429,10 +429,10 @@ int crespo_ipc_open(void *data, unsigned int size, void *io_data) switch(type) { case IPC_CLIENT_TYPE_FMT: - fd = open("/dev/modem_fmt", O_RDWR | O_NDELAY); + fd = open("/dev/modem_fmt", O_RDWR | O_NOCTTY | O_NONBLOCK); break; case IPC_CLIENT_TYPE_RFS: - fd = open("/dev/modem_rfs", O_RDWR | O_NDELAY); + fd = open("/dev/modem_rfs", O_RDWR | O_NOCTTY | O_NONBLOCK); break; default: break; diff --git a/samsung-ipc/device/crespo/crespo_ipc.h b/samsung-ipc/device/crespo/crespo_ipc.h index d15bc23..5485d04 100644 --- a/samsung-ipc/device/crespo/crespo_ipc.h +++ b/samsung-ipc/device/crespo/crespo_ipc.h @@ -42,8 +42,8 @@ struct samsung_rfs_cfrm void *mtd_read(char *mtd_name, int size, int block_size); void *file_read(char *file_name, int size, int block_size); -int wake_lock(char *lock_name); -int wake_unlock(char *lock_name); +int wake_lock(char *lock_name, int len); +int wake_unlock(char *lock_name, int len); extern struct ipc_handlers crespo_ipc_default_handlers; diff --git a/samsung-ipc/ipc.c b/samsung-ipc/ipc.c index 2119464..7f460bc 100644 --- a/samsung-ipc/ipc.c +++ b/samsung-ipc/ipc.c @@ -70,7 +70,7 @@ struct ipc_client* ipc_client_new(int client_type) client->ops = ops; client->handlers = (struct ipc_handlers *) malloc(sizeof(struct ipc_handlers)); client->log_handler = log_handler_default; - +memcpy(client->handlers, &ipc_default_handlers, sizeof(struct ipc_handlers)); return client; } |