diff options
author | Christophe Ricard <christophe.ricard@gmail.com> | 2015-10-25 22:54:24 +0100 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2015-10-26 06:53:13 +0100 |
commit | 8a49943f5bc5ff4f835d50451ecf2380eab44d2e (patch) | |
tree | 6cfe300aaae966e7cf5f50c569c78814ae697030 | |
parent | NFC: nci: add nci_hci_clear_all_pipes functions (diff) | |
download | linux-8a49943f5bc5ff4f835d50451ecf2380eab44d2e.tar.xz linux-8a49943f5bc5ff4f835d50451ecf2380eab44d2e.zip |
NFC: nci: Call nci_hci_clear_all_pipes at HCI initial activation.
When session_id is filled to 0xff, the pipe configuration is
probably incorrect and needs to be cleared.
Signed-off-by: Christophe Ricard <christophe-h.ricard@st.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
-rw-r--r-- | net/nfc/nci/hci.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/net/nfc/nci/hci.c b/net/nfc/nci/hci.c index 6f477d21adfd..af401fff72d9 100644 --- a/net/nfc/nci/hci.c +++ b/net/nfc/nci/hci.c @@ -706,6 +706,10 @@ int nci_hci_dev_session_init(struct nci_dev *ndev) /* Restore gate<->pipe table from some proprietary location. */ r = ndev->ops->hci_load_session(ndev); } else { + r = nci_hci_clear_all_pipes(ndev); + if (r < 0) + goto exit; + r = nci_hci_dev_connect_gates(ndev, ndev->hci_dev->init_data.gate_count, ndev->hci_dev->init_data.gates); |