NFC: NCI: Handle Discovery deactivation type
authorJulien Lefrique <lefrique@marvell.com>
Tue, 21 Oct 2014 14:52:52 +0000 (16:52 +0200)
committerSamuel Ortiz <sameo@linux.intel.com>
Fri, 28 Nov 2014 13:07:51 +0000 (14:07 +0100)
When the deactivation type reported by RF_DEACTIVATE_NTF is Discovery, go in
RFST_DISCOVERY state. The NFCC stays in Poll mode and/or Listen mode.

Signed-off-by: Julien Lefrique <lefrique@marvell.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
net/nfc/nci/ntf.c

index 46b2a90..8d337aa 100644 (file)
@@ -681,7 +681,10 @@ static void nci_rf_deactivate_ntf_packet(struct nci_dev *ndev,
                nci_data_exchange_complete(ndev, NULL, -EIO);
 
        nci_clear_target_list(ndev);
-       atomic_set(&ndev->state, NCI_IDLE);
+       if (ntf->type == NCI_DEACTIVATE_TYPE_DISCOVERY)
+               atomic_set(&ndev->state, NCI_DISCOVERY);
+       else
+               atomic_set(&ndev->state, NCI_IDLE);
        nci_req_complete(ndev, NCI_STATUS_OK);
 }