aboutsummaryrefslogtreecommitdiffstats
path: root/samsung-ipc
diff options
context:
space:
mode:
authorPaulK <contact@paulk.fr>2011-10-31 14:53:50 +0100
committerPaulK <contact@paulk.fr>2011-10-31 14:53:50 +0100
commitc9210b62c93a8f9a8bba249dfffc86762bc69234 (patch)
tree31de979b7daba2fb84e1291c0d27f60aeee97681 /samsung-ipc
parent644af30baa8bd6311f1fd67a86792b6c6195b1b3 (diff)
downloadexternal_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.c16
-rw-r--r--samsung-ipc/device/crespo/crespo_ipc.h4
-rw-r--r--samsung-ipc/ipc.c2
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;
}