summaryrefslogtreecommitdiff
path: root/drivers/nfc/st21nfcb/ndlc.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/nfc/st21nfcb/ndlc.c')
-rw-r--r--drivers/nfc/st21nfcb/ndlc.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/nfc/st21nfcb/ndlc.c b/drivers/nfc/st21nfcb/ndlc.c
index 3ee22b4..91e81f3 100644
--- a/drivers/nfc/st21nfcb/ndlc.c
+++ b/drivers/nfc/st21nfcb/ndlc.c
@@ -66,9 +66,19 @@ EXPORT_SYMBOL(ndlc_open);
void ndlc_close(struct llt_ndlc *ndlc)
{
+ struct nci_mode_set_cmd cmd;
+
+ cmd.cmd_type = ST21NFCB_NCI_SET_NFC_MODE;
+ cmd.mode = 0;
+
/* toggle reset pin */
- ndlc->ops->disable(ndlc->phy_id);
+ ndlc->ops->enable(ndlc->phy_id);
+
+ nci_prop_cmd(ndlc->ndev, ST21NFCB_NCI_CORE_PROP,
+ sizeof(struct nci_mode_set_cmd), (__u8 *)&cmd);
+
ndlc->powered = 0;
+ ndlc->ops->disable(ndlc->phy_id);
}
EXPORT_SYMBOL(ndlc_close);