Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
[firefly-linux-kernel-4.4.55.git] / net / irda / af_irda.c
index d28e7f014cc639779a4557203b4b2ba2f7e63927..0578d4fa00a9cf1c274b2adb42d8277801dbdeb3 100644 (file)
@@ -305,8 +305,7 @@ static void irda_connect_response(struct irda_sock *self)
 
        IRDA_DEBUG(2, "%s()\n", __func__);
 
-       skb = alloc_skb(TTP_MAX_HEADER + TTP_SAR_HEADER,
-                       GFP_ATOMIC);
+       skb = alloc_skb(TTP_MAX_HEADER + TTP_SAR_HEADER, GFP_KERNEL);
        if (skb == NULL) {
                IRDA_DEBUG(0, "%s() Unable to allocate sk_buff!\n",
                           __func__);
@@ -1120,7 +1119,7 @@ static int irda_create(struct net *net, struct socket *sock, int protocol,
        }
 
        /* Allocate networking socket */
-       sk = sk_alloc(net, PF_IRDA, GFP_ATOMIC, &irda_proto);
+       sk = sk_alloc(net, PF_IRDA, GFP_KERNEL, &irda_proto);
        if (sk == NULL)
                return -ENOMEM;
 
@@ -1386,6 +1385,8 @@ static int irda_recvmsg_dgram(struct kiocb *iocb, struct socket *sock,
 
        IRDA_DEBUG(4, "%s()\n", __func__);
 
+       msg->msg_namelen = 0;
+
        skb = skb_recv_datagram(sk, flags & ~MSG_DONTWAIT,
                                flags & MSG_DONTWAIT, &err);
        if (!skb)