aboutsummaryrefslogtreecommitdiffstats
path: root/net/nfc/nci
diff options
context:
space:
mode:
authorVincent Cuissard <cuissard@marvell.com>2014-07-22 19:48:40 +0200
committerSamuel Ortiz <sameo@linux.intel.com>2014-09-01 14:40:43 +0200
commit83724c3329c93f9efc7f53498edd4c538e724366 (patch)
tree77a9be0fcb87ba1ecc565d7682e44f49452dcf14 /net/nfc/nci
parentNFC: NCI: Fix nci_register_device init sequence (diff)
downloadlinux-dev-83724c3329c93f9efc7f53498edd4c538e724366.tar.xz
linux-dev-83724c3329c93f9efc7f53498edd4c538e724366.zip
NFC: NCI: Fix NCI RF FRAME interface usage
NCI RF FRAME interface is used for all kind of tags except ISODEP ones. So for all other kind of tags the status byte has to be removed. Signed-off-by: Vincent Cuissard <cuissard@marvell.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'net/nfc/nci')
-rw-r--r--net/nfc/nci/data.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/net/nfc/nci/data.c b/net/nfc/nci/data.c
index 6c3aef852876..427ef2c7ab68 100644
--- a/net/nfc/nci/data.c
+++ b/net/nfc/nci/data.c
@@ -241,9 +241,12 @@ void nci_rx_data_packet(struct nci_dev *ndev, struct sk_buff *skb)
/* strip the nci data header */
skb_pull(skb, NCI_DATA_HDR_SIZE);
- if (ndev->target_active_prot == NFC_PROTO_MIFARE) {
+ if (ndev->target_active_prot == NFC_PROTO_MIFARE ||
+ ndev->target_active_prot == NFC_PROTO_JEWEL ||
+ ndev->target_active_prot == NFC_PROTO_FELICA ||
+ ndev->target_active_prot == NFC_PROTO_ISO15693) {
/* frame I/F => remove the status byte */
- pr_debug("NFC_PROTO_MIFARE => remove the status byte\n");
+ pr_debug("frame I/F => remove the status byte\n");
skb_trim(skb, (skb->len - 1));
}