diff options
| author | Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> | 2021-03-05 17:58:52 +0100 |
|---|---|---|
| committer | Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> | 2022-02-02 13:29:15 +0100 |
| commit | 7e4f0e079ac308510c3e34a2abf721ac1a2edab2 (patch) | |
| tree | d96a6effc263134c6ac25298af68a7dfaa465fa5 | |
| parent | 172740cc44843db467eef94671d10662c26be947 (diff) | |
| download | hardware_replicant_libsamsung-ipc-7e4f0e079ac308510c3e34a2abf721ac1a2edab2.tar.gz hardware_replicant_libsamsung-ipc-7e4f0e079ac308510c3e34a2abf721ac1a2edab2.tar.bz2 hardware_replicant_libsamsung-ipc-7e4f0e079ac308510c3e34a2abf721ac1a2edab2.zip | |
device: generic: Simplify poll and report errors
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
| -rw-r--r-- | samsung-ipc/devices/generic/generic.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/samsung-ipc/devices/generic/generic.c b/samsung-ipc/devices/generic/generic.c index 37758ba..cb5f619 100644 --- a/samsung-ipc/devices/generic/generic.c +++ b/samsung-ipc/devices/generic/generic.c @@ -150,7 +150,8 @@ int xmm626_kernel_linux_modem_open(struct ipc_client *client, int type) while (fd < 0 && i < 30) { i++; usleep(30000); - ipc_client_log(client, "%s: type: %d", __func__, type); + ipc_client_log(client, "%s: client type: %s", __func__, + ipc_client_type_string(type)); switch (type) { case IPC_CLIENT_TYPE_FMT: err = 0; @@ -182,7 +183,8 @@ int xmm626_kernel_linux_modem_open(struct ipc_client *client, int type) } break; default: - ipc_client_log(client, "%s: unknown type\n", __func__); + ipc_client_log(client, "%s: unknown client type %s\n", + __func__, ipc_client_type_string(type)); return -1; } } @@ -560,12 +562,19 @@ int generic_poll(__attribute__((unused)) struct ipc_client *client, ipc_client_log(client, "%s: transport_data->fd: %d", __func__, transport_data->fd); #endif rc = poll(&fd, 1, -1); + if (rc == -1) { + rc = errno; + ipc_client_log(client, + "%s: poll failed with error %d: %s", __func__, + rc, strerror(rc)); + return -1; + } #if GENERIC_DEBUG ipc_client_log(client, "%s: poll: %d", __func__, rc); #endif - return rc - 1; + return 0; } |
