Skip to content

Commit

Permalink
NFC: Complete NCI deactivate in deactivate_ntf
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Ilan Elias authored and John W. Linville committed Jan 24, 2012
1 parent ca742cd commit bd7e01b
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 1 deletion.
2 changes: 2 additions & 0 deletions net/nfc/nci/ntf.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
5 changes: 4 additions & 1 deletion net/nfc/nci/rsp.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down

0 comments on commit bd7e01b

Please sign in to comment.