aboutsummaryrefslogtreecommitdiffstats
path: root/net/nfc/rawsock.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/nfc/rawsock.c')
-rw-r--r--net/nfc/rawsock.c11
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