NFC: NCI: Fix NCI RF FRAME interface usage
authorVincent Cuissard <cuissard@marvell.com>
Tue, 22 Jul 2014 17:48:40 +0000 (19:48 +0200)
committerSamuel Ortiz <sameo@linux.intel.com>
Mon, 1 Sep 2014 12:40:43 +0000 (14:40 +0200)
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>
net/nfc/nci/data.c

index 6c3aef8..427ef2c 100644 (file)
@@ -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));
        }