NFC: pn533: Add pn533_alloc_skb for req allocation
authorWaldemar Rymarkiewicz <waldemar.rymarkiewicz@tieto.com>
Mon, 26 Nov 2012 13:18:37 +0000 (14:18 +0100)
committerSamuel Ortiz <sameo@linux.intel.com>
Wed, 9 Jan 2013 23:44:30 +0000 (00:44 +0100)
Allocate sk_buff for the request.

Signed-off-by: Waldemar Rymarkiewicz <waldemar.rymarkiewicz@tieto.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
drivers/nfc/pn533.c

index 94c88bb..c34acd0 100644 (file)
@@ -1062,6 +1062,20 @@ static void pn533_send_complete(struct urb *urb)
        }
 }
 
+static struct sk_buff *pn533_alloc_skb(unsigned int size)
+{
+       struct sk_buff *skb;
+
+       skb = alloc_skb(PN533_FRAME_HEADER_LEN +
+                       size +
+                       PN533_FRAME_TAIL_LEN, GFP_KERNEL);
+
+       if (skb)
+               skb_reserve(skb, PN533_FRAME_HEADER_LEN);
+
+       return skb;
+}
+
 struct pn533_target_type_a {
        __be16 sens_res;
        u8 sel_res;
@@ -2390,15 +2404,11 @@ static void pn533_wq_mi_recv(struct work_struct *work)
        nfc_dev_dbg(&dev->interface->dev, "%s", __func__);
 
        /* This is a zero payload size skb */
-       skb_cmd = alloc_skb(PN533_FRAME_HEADER_LEN +
-                           PN533_CMD_DATAEXCH_HEAD_LEN +
-                           PN533_FRAME_TAIL_LEN,
-                           GFP_KERNEL);
+       skb_cmd = pn533_alloc_skb(PN533_CMD_DATAEXCH_HEAD_LEN);
        if (skb_cmd == NULL)
                goto error_cmd;
 
-       skb_reserve(skb_cmd,
-                   PN533_FRAME_HEADER_LEN + PN533_CMD_DATAEXCH_HEAD_LEN);
+       skb_reserve(skb_cmd, PN533_CMD_DATAEXCH_HEAD_LEN);
 
        rc = pn533_build_tx_frame(dev, skb_cmd, true);
        if (rc)