struct pn533_frame *out_frame;
 
        struct urb *in_urb;
-       struct pn533_frame *in_frame;
 
        struct sk_buff_head resp_q;
 
 
 struct pn533_cmd {
        struct list_head queue;
-       struct pn533_frame *out_frame;
-       struct pn533_frame *in_frame;
-       int in_frame_len;
        u8 cmd_code;
        struct sk_buff *req;
        struct sk_buff *resp;
-       pn533_cmd_complete_t cmd_complete;
        void *arg;
 };
 
 
        mutex_unlock(&dev->cmd_lock);
 
-       if (cmd->cmd_code != PN533_CMD_UNDEF)
-               __pn533_send_cmd_frame_async(dev,
-                                            (struct pn533_frame *)cmd->req->data,
-                                            (struct pn533_frame *)cmd->resp->data,
-                                            PN533_NORMAL_FRAME_MAX_LEN,
-                                            pn533_send_async_complete,
-                                            cmd->arg);
-       else
-               __pn533_send_cmd_frame_async(dev, cmd->out_frame, cmd->in_frame,
-                                            cmd->in_frame_len,
-                                            cmd->cmd_complete, cmd->arg);
+       __pn533_send_cmd_frame_async(dev,
+                                    (struct pn533_frame *)cmd->req->data,
+                                    (struct pn533_frame *)cmd->resp->data,
+                                    PN533_NORMAL_FRAME_MAX_LEN,
+                                    pn533_send_async_complete,
+                                    cmd->arg);
 
        kfree(cmd);
 }
 
-static int pn533_send_cmd_frame_async(struct pn533 *dev,
-                                       struct pn533_frame *out_frame,
-                                       struct pn533_frame *in_frame,
-                                       int in_frame_len,
-                                       pn533_cmd_complete_t cmd_complete,
-                                       void *arg)
-{
-       struct pn533_cmd *cmd;
-       int rc = 0;
-
-       nfc_dev_dbg(&dev->interface->dev, "%s", __func__);
-
-       mutex_lock(&dev->cmd_lock);
-
-       if (!dev->cmd_pending) {
-               rc = __pn533_send_cmd_frame_async(dev, out_frame, in_frame,
-                                                 in_frame_len, cmd_complete,
-                                                 arg);
-               if (!rc)
-                       dev->cmd_pending = 1;
-
-               goto unlock;
-       }
-
-       nfc_dev_dbg(&dev->interface->dev, "%s Queueing command", __func__);
-
-       cmd = kzalloc(sizeof(struct pn533_cmd), GFP_KERNEL);
-       if (!cmd) {
-               rc = -ENOMEM;
-               goto unlock;
-       }
-
-       INIT_LIST_HEAD(&cmd->queue);
-       cmd->out_frame = out_frame;
-       cmd->in_frame = in_frame;
-       cmd->in_frame_len = in_frame_len;
-       cmd->cmd_code = PN533_CMD_UNDEF;
-       cmd->cmd_complete = cmd_complete;
-       cmd->arg = arg;
-
-       list_add_tail(&cmd->queue, &dev->cmd_queue);
-
-unlock:
-       mutex_unlock(&dev->cmd_lock);
-
-       return rc;
-}
-
 struct pn533_sync_cmd_response {
        struct sk_buff *resp;
        struct completion done;
                goto error;
        }
 
-       dev->in_frame = kmalloc(PN533_NORMAL_FRAME_MAX_LEN, GFP_KERNEL);
        dev->in_urb = usb_alloc_urb(0, GFP_KERNEL);
        dev->out_frame = kmalloc(PN533_NORMAL_FRAME_MAX_LEN, GFP_KERNEL);
        dev->out_urb = usb_alloc_urb(0, GFP_KERNEL);
 
-       if (!dev->in_frame || !dev->out_frame || !dev->in_urb || !dev->out_urb)
+       if (!dev->out_frame || !dev->in_urb || !dev->out_urb)
                goto error;
 
        usb_fill_bulk_urb(dev->in_urb, dev->udev,
 destroy_wq:
        destroy_workqueue(dev->wq);
 error:
-       kfree(dev->in_frame);
        usb_free_urb(dev->in_urb);
        kfree(dev->out_frame);
        usb_free_urb(dev->out_urb);
                kfree(cmd);
        }
 
-       kfree(dev->in_frame);
        usb_free_urb(dev->in_urb);
        kfree(dev->out_frame);
        usb_free_urb(dev->out_urb);