ipa: better log error messages for ipa_msg_recv()

More descriptive errors help to debug problems.
diff --git a/src/input/ipa.c b/src/input/ipa.c
index 4773dff..a519f07 100644
--- a/src/input/ipa.c
+++ b/src/input/ipa.c
@@ -63,6 +63,7 @@
 		msgb_free(msg);
 		return ret;
 	} else if (ret != sizeof(*hh)) {
+		LOGP(DLINP, LOGL_ERROR, "too small message received\n");
 		msgb_free(msg);
 		return -EIO;
 	}
@@ -73,6 +74,8 @@
 	len = ntohs(hh->len);
 
 	if (len < 0 || IPA_ALLOC_SIZE < len + sizeof(*hh)) {
+		LOGP(DLINP, LOGL_ERROR, "bad message length of %d bytes, "
+					"received %d bytes\n", len, ret);
 		msgb_free(msg);
 		return -EIO;
 	}
@@ -82,6 +85,7 @@
 		msgb_free(msg);
 		return ret;
 	} else if (ret < len) {
+		LOGP(DLINP, LOGL_ERROR, "trunked message received\n");
 		msgb_free(msg);
 		return -EIO;
 	}
@@ -119,8 +123,6 @@
 	if (ret < 0) {
 		if (errno == EPIPE || errno == ECONNRESET) {
 			LOGP(DLINP, LOGL_ERROR, "lost connection with server\n");
-		} else {
-			LOGP(DLINP, LOGL_ERROR, "unknown error\n");
 		}
 		ipa_client_retry(link);
 		return;
@@ -387,8 +389,6 @@
 	if (ret < 0) {
 		if (errno == EPIPE || errno == ECONNRESET) {
 			LOGP(DLINP, LOGL_ERROR, "lost connection with server\n");
-		} else {
-			LOGP(DLINP, LOGL_ERROR, "unknown error\n");
 		}
 		return;
 	} else if (ret == 0) {