Make one error message more verbose.
[swifty.git] / src / kernel / swift.c
index 116c04b..270b43b 100644 (file)
@@ -363,7 +363,7 @@ static int swift_recvmsg(struct kiocb *iocb, struct socket *sock, struct msghdr
 
        skb = skb_recv_datagram(sk, flags, flags & MSG_DONTWAIT, &err);
        if (unlikely(!skb)) {
-               log_error("skb_recv_datagram\n");
+               log_error("skb_recv_datagram failed with %d\n", err);
                goto out;
        }
 
@@ -397,6 +397,9 @@ static int swift_recvmsg(struct kiocb *iocb, struct socket *sock, struct msghdr
 out_free:
            skb_free_datagram(sk, skb);
 
+               if (i == msg->msg_iovlen - 1)
+                       break;
+
                skb = skb_recv_datagram(sk, flags, 1, &err);
                if (likely(err == -EAGAIN)) {
                        log_debug("No more skbs in the queue, returning...\n");