From 01999c316154a914793115f36084297a8888b397 Mon Sep 17 00:00:00 2001 From: Samuel Ortiz Date: Tue, 3 Jul 2012 23:45:26 +0200 Subject: [PATCH] --- yaml --- r: 315307 b: refs/heads/master c: a1fbbf1817c671a396b7ae3832bdfab63acea2e5 h: refs/heads/master i: 315305: 5b14ea68069a912b842f31c925f8ddc316be7094 315303: 43acce6df5f7bd475f6fdd72105d3ca609699e88 v: v3 --- [refs] | 2 +- trunk/drivers/nfc/pn533.c | 23 +++++++++++------------ 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/[refs] b/[refs] index 5c531db887d6..64667a466c7f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 5c7b0531299dad4255ff5c5106d060150cda75a4 +refs/heads/master: a1fbbf1817c671a396b7ae3832bdfab63acea2e5 diff --git a/trunk/drivers/nfc/pn533.c b/trunk/drivers/nfc/pn533.c index 37786ff18c36..84d8175db818 100644 --- a/trunk/drivers/nfc/pn533.c +++ b/trunk/drivers/nfc/pn533.c @@ -1806,7 +1806,17 @@ static int pn533_build_tx_frame(struct pn533 *dev, struct sk_buff *skb, if (target == true) { switch (dev->device_type) { - case PN533_DEVICE_STD: + case PN533_DEVICE_PASORI: + if (dev->tgt_active_prot == NFC_PROTO_FELICA) { + skb_push(skb, PN533_CMD_DATAEXCH_HEAD_LEN - 1); + out_frame = (struct pn533_frame *) skb->data; + pn533_tx_frame_init(out_frame, + PN533_CMD_IN_COMM_THRU); + + break; + } + + default: skb_push(skb, PN533_CMD_DATAEXCH_HEAD_LEN); out_frame = (struct pn533_frame *) skb->data; pn533_tx_frame_init(out_frame, @@ -1815,19 +1825,8 @@ static int pn533_build_tx_frame(struct pn533 *dev, struct sk_buff *skb, memcpy(PN533_FRAME_CMD_PARAMS_PTR(out_frame), &tg, sizeof(u8)); out_frame->datalen += sizeof(u8); - break; - - case PN533_DEVICE_PASORI: - skb_push(skb, PN533_CMD_DATAEXCH_HEAD_LEN - 1); - out_frame = (struct pn533_frame *) skb->data; - pn533_tx_frame_init(out_frame, PN533_CMD_IN_COMM_THRU); break; - - default: - nfc_dev_err(&dev->interface->dev, - "Unknown device type %d", dev->device_type); - return -EINVAL; } } else {