diff options
Diffstat (limited to 'net/nfc/rawsock.c')
-rw-r--r-- | net/nfc/rawsock.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/net/nfc/rawsock.c b/net/nfc/rawsock.c index 68ecf3fa94e0..2e2f8c6a61fe 100644 --- a/net/nfc/rawsock.c +++ b/net/nfc/rawsock.c | |||
@@ -21,7 +21,7 @@ | |||
21 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | 21 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
22 | */ | 22 | */ |
23 | 23 | ||
24 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt | 24 | #define pr_fmt(fmt) KBUILD_MODNAME ": %s: " fmt, __func__ |
25 | 25 | ||
26 | #include <net/tcp_states.h> | 26 | #include <net/tcp_states.h> |
27 | #include <linux/nfc.h> | 27 | #include <linux/nfc.h> |
@@ -208,13 +208,10 @@ static int rawsock_sendmsg(struct kiocb *iocb, struct socket *sock, | |||
208 | if (sock->state != SS_CONNECTED) | 208 | if (sock->state != SS_CONNECTED) |
209 | return -ENOTCONN; | 209 | return -ENOTCONN; |
210 | 210 | ||
211 | skb = sock_alloc_send_skb(sk, len + dev->tx_headroom + dev->tx_tailroom + NFC_HEADER_SIZE, | 211 | skb = nfc_alloc_send_skb(dev, sk, msg->msg_flags, len, &rc); |
212 | msg->msg_flags & MSG_DONTWAIT, &rc); | 212 | if (skb == NULL) |
213 | if (!skb) | ||
214 | return rc; | 213 | return rc; |
215 | 214 | ||
216 | skb_reserve(skb, dev->tx_headroom + NFC_HEADER_SIZE); | ||
217 | |||
218 | rc = memcpy_fromiovec(skb_put(skb, len), msg->msg_iov, len); | 215 | rc = memcpy_fromiovec(skb_put(skb, len), msg->msg_iov, len); |
219 | if (rc < 0) { | 216 | if (rc < 0) { |
220 | kfree_skb(skb); | 217 | kfree_skb(skb); |
@@ -313,7 +310,7 @@ static int rawsock_create(struct net *net, struct socket *sock, | |||
313 | 310 | ||
314 | sock->ops = &rawsock_ops; | 311 | sock->ops = &rawsock_ops; |
315 | 312 | ||
316 | sk = sk_alloc(net, PF_NFC, GFP_KERNEL, nfc_proto->proto); | 313 | sk = sk_alloc(net, PF_NFC, GFP_ATOMIC, nfc_proto->proto); |
317 | if (!sk) | 314 | if (!sk) |
318 | return -ENOMEM; | 315 | return -ENOMEM; |
319 | 316 | ||