diff --git a/net/phonet/pep.c b/net/phonet/pep.c
index 5034f0f62bdb7e3ae8e20227975e5986c14e6270..04e34196c9defa6fe66c3581beb47b1cde185b6a 100644
--- a/net/phonet/pep.c
+++ b/net/phonet/pep.c
@@ -876,7 +876,7 @@ static int pep_sendmsg(struct kiocb *iocb, struct sock *sk,
 	skb = sock_alloc_send_skb(sk, MAX_PNPIPE_HEADER + len,
 					flags & MSG_DONTWAIT, &err);
 	if (!skb)
-		return -ENOBUFS;
+		return err;
 
 	skb_reserve(skb, MAX_PHONET_HEADER + 3);
 	err = memcpy_fromiovec(skb_put(skb, len), msg->msg_iov, len);