NFC: Complete NCI deactivate in deactivate_ntf
If a target was active, complete the NCI deactivate request only in deactivate_ntf. Otherwise, complete it at deactivate_rsp. Deactivate_ntf represents the actual disconnection event (sent from the NCI controller). Signed-off-by: Ilan Elias <ilane@ti.com> Acked-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
ca742cd976
commit
bd7e01bc7e
|
@ -280,6 +280,8 @@ static void nci_rf_deactivate_ntf_packet(struct nci_dev *ndev,
|
|||
/* complete the data exchange transaction, if exists */
|
||||
if (test_bit(NCI_DATA_EXCHANGE, &ndev->flags))
|
||||
nci_data_exchange_complete(ndev, NULL, -EIO);
|
||||
|
||||
nci_req_complete(ndev, NCI_STATUS_OK);
|
||||
}
|
||||
|
||||
void nci_ntf_packet(struct nci_dev *ndev, struct sk_buff *skb)
|
||||
|
|
|
@ -151,7 +151,10 @@ static void nci_rf_deactivate_rsp_packet(struct nci_dev *ndev,
|
|||
|
||||
clear_bit(NCI_DISCOVERY, &ndev->flags);
|
||||
|
||||
nci_req_complete(ndev, status);
|
||||
/* If target was active, complete the request only in deactivate_ntf */
|
||||
if ((status != NCI_STATUS_OK) ||
|
||||
(!test_bit(NCI_POLL_ACTIVE, &ndev->flags)))
|
||||
nci_req_complete(ndev, status);
|
||||
}
|
||||
|
||||
void nci_rsp_packet(struct nci_dev *ndev, struct sk_buff *skb)
|
||||
|
|
Loading…
Reference in New Issue