NFC: Add tx skb allocation routine
[firefly-linux-kernel-4.4.55.git] / net / nfc / rawsock.c
index 5e9b991eac1390e6469ad1801809d29f8b5d650d..11ac0a17156e57513de11799ccbcadb8dba7b691 100644 (file)
@@ -208,13 +208,10 @@ static int rawsock_sendmsg(struct kiocb *iocb, struct socket *sock,
        if (sock->state != SS_CONNECTED)
                return -ENOTCONN;
 
-       skb = sock_alloc_send_skb(sk, len + dev->tx_headroom + dev->tx_tailroom + NFC_HEADER_SIZE,
-                                       msg->msg_flags & MSG_DONTWAIT, &rc);
-       if (!skb)
+       skb = nfc_alloc_send_skb(dev, sk, msg->msg_flags, len, &rc);
+       if (skb == NULL)
                return rc;
 
-       skb_reserve(skb, dev->tx_headroom + NFC_HEADER_SIZE);
-
        rc = memcpy_fromiovec(skb_put(skb, len), msg->msg_iov, len);
        if (rc < 0) {
                kfree_skb(skb);