diff options
author | Simon Shields <simon@lineageos.org> | 2018-04-05 05:17:30 +0000 |
---|---|---|
committer | Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> | 2019-07-02 15:27:33 +0200 |
commit | 63ed9080d5ae73cd8d2d9932e7006d0aae0bdbbe (patch) | |
tree | e428986c4b2e8ed16f1b0777e0b1505987e2cfa6 | |
parent | 7f9d9e5f30784e7ad869de4d110f2ce4c7272d93 (diff) | |
download | hardware_replicant_libsamsung-ipc-63ed9080d5ae73cd8d2d9932e7006d0aae0bdbbe.tar.gz hardware_replicant_libsamsung-ipc-63ed9080d5ae73cd8d2d9932e7006d0aae0bdbbe.tar.bz2 hardware_replicant_libsamsung-ipc-63ed9080d5ae73cd8d2d9932e7006d0aae0bdbbe.zip |
n7100/xmm626: some more fixes for mainline
-rw-r--r-- | samsung-ipc/devices/n7100/n7100.c | 10 | ||||
-rw-r--r-- | samsung-ipc/devices/xmm626/xmm626_sec_modem.c | 9 |
2 files changed, 8 insertions, 11 deletions
diff --git a/samsung-ipc/devices/n7100/n7100.c b/samsung-ipc/devices/n7100/n7100.c index 7226462..154e42b 100644 --- a/samsung-ipc/devices/n7100/n7100.c +++ b/samsung-ipc/devices/n7100/n7100.c @@ -21,6 +21,7 @@ #include <unistd.h> #include <string.h> #include <fcntl.h> +#include <poll.h> #include <sys/mman.h> #include <samsung-ipc.h> @@ -299,15 +300,20 @@ int n7100_poll(void *data, struct ipc_poll_fds *fds, struct timeval *timeout) { struct n7100_transport_data *transport_data; int rc; + struct pollfd fd; if (data == NULL) return -1; transport_data = (struct n7100_transport_data *) data; - rc = xmm626_sec_modem_poll(transport_data->fd, fds, timeout); + fd.fd = transport_data->fd; + fd.events = POLLRDNORM | POLLIN; - return rc; + rc = poll(&fd, 1, -1); + + printf("poll returns %d\n", rc); + return rc - 1; } int n7100_power_on(__attribute__((unused)) void *data) diff --git a/samsung-ipc/devices/xmm626/xmm626_sec_modem.c b/samsung-ipc/devices/xmm626/xmm626_sec_modem.c index 486b3d1..0b44222 100644 --- a/samsung-ipc/devices/xmm626/xmm626_sec_modem.c +++ b/samsung-ipc/devices/xmm626/xmm626_sec_modem.c @@ -453,10 +453,6 @@ int xmm626_sec_modem_read(int fd, void *buffer, size_t length) if (fd < 0 || buffer == NULL || length <= 0) return -1; - status = ioctl(fd, IOCTL_MODEM_STATUS, 0); - if (status != STATE_ONLINE && status != STATE_BOOTING) - return -1; - rc = read(fd, buffer, length); return rc; @@ -464,16 +460,11 @@ int xmm626_sec_modem_read(int fd, void *buffer, size_t length) int xmm626_sec_modem_write(int fd, const void *buffer, size_t length) { - int status; int rc; if (fd < 0 || buffer == NULL || length <= 0) return -1; - status = ioctl(fd, IOCTL_MODEM_STATUS, 0); - if (status != STATE_ONLINE && status != STATE_BOOTING) - return -1; - rc = write(fd, buffer, length); return rc; |