ipa: Return -errno instead of -1 in ipa_send
Currently, the ipa_send function returns -1 in one execution branch
to indicate an error and -EIO in another. This is not consistent and
can lead to a misinterpretation of the error code, since -1 is -EPERM
and in general, EPERM is not returned by write(2).
This patch changes the return code to -errno instead of -1 for the
case that write(2) fails for same reason. So -rc is always a sensible
error value if there is a failure.
Sponsored-by: On-Waves ehf
diff --git a/src/gsm/ipa.c b/src/gsm/ipa.c
index ce98f08..7cff1e8 100644
--- a/src/gsm/ipa.c
+++ b/src/gsm/ipa.c
@@ -199,7 +199,7 @@
ret = write(fd, msg, msglen);
if (ret < 0)
- return ret;
+ return -errno;
if (ret < msglen) {
LOGP(DLINP, LOGL_ERROR, "ipa_send: short write\n");
return -EIO;