aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Shields <simon@lineageos.org>2018-04-05 05:17:30 +0000
committerDenis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>2019-07-02 15:27:33 +0200
commit63ed9080d5ae73cd8d2d9932e7006d0aae0bdbbe (patch)
treee428986c4b2e8ed16f1b0777e0b1505987e2cfa6
parent7f9d9e5f30784e7ad869de4d110f2ce4c7272d93 (diff)
downloadhardware_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.c10
-rw-r--r--samsung-ipc/devices/xmm626/xmm626_sec_modem.c9
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;