]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/nfc/pn533.c
NFC: Reserve tx head and tail room
[mv-sheeva.git] / drivers / nfc / pn533.c
index 03723154071925ef9f75127b62118b4949770023..f81a93e5b59dfa865e413454a82ab01539c6457f 100644 (file)
@@ -1246,7 +1246,6 @@ static int pn533_data_exchange_tx_frame(struct pn533 *dev, struct sk_buff *skb)
 {
        int payload_len = skb->len;
        struct pn533_frame *out_frame;
-       struct sk_buff *discarded;
        u8 tg;
 
        nfc_dev_dbg(&dev->interface->dev, "%s - Sending %d bytes", __func__,
@@ -1260,18 +1259,6 @@ static int pn533_data_exchange_tx_frame(struct pn533 *dev, struct sk_buff *skb)
                return -ENOSYS;
        }
 
-       /* Reserving header space */
-       if (skb_cow_head(skb, PN533_CMD_DATAEXCH_HEAD_LEN)) {
-               nfc_dev_err(&dev->interface->dev, "Error to add header data");
-               return -ENOMEM;
-       }
-
-       /* Reserving tail space, see pn533_tx_frame_finish */
-       if (skb_cow_data(skb, PN533_FRAME_TAIL_SIZE, &discarded) < 0) {
-               nfc_dev_err(&dev->interface->dev, "Error to add tail data");
-               return -ENOMEM;
-       }
-
        skb_push(skb, PN533_CMD_DATAEXCH_HEAD_LEN);
        out_frame = (struct pn533_frame *) skb->data;
 
@@ -1536,7 +1523,9 @@ static int pn533_probe(struct usb_interface *interface,
                        | NFC_PROTO_ISO14443_MASK
                        | NFC_PROTO_NFC_DEP_MASK;
 
-       dev->nfc_dev = nfc_allocate_device(&pn533_nfc_ops, protocols);
+       dev->nfc_dev = nfc_allocate_device(&pn533_nfc_ops, protocols,
+                                          PN533_CMD_DATAEXCH_HEAD_LEN,
+                                          PN533_FRAME_TAIL_SIZE);
        if (!dev->nfc_dev)
                goto kill_tasklet;
 
@@ -1596,7 +1585,7 @@ static void pn533_disconnect(struct usb_interface *interface)
        usb_free_urb(dev->out_urb);
        kfree(dev);
 
-       nfc_dev_info(&dev->interface->dev, "NXP PN533 NFC device disconnected");
+       nfc_dev_info(&interface->dev, "NXP PN533 NFC device disconnected");
 }
 
 static struct usb_driver pn533_driver = {