summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorClaudio Takahasi <claudio.takahasi@openbossa.org>2007-01-26 15:02:48 +0000
committerClaudio Takahasi <claudio.takahasi@openbossa.org>2007-01-26 15:02:48 +0000
commit10cdcaa9bc6a49d98dcd3b3c1bf3c807ff82a578 (patch)
tree2629e08af3fac35107ff6a42b535d6d925847793
parent5d6c22d60f55e477d42a546da9c04339c735789b (diff)
Check if the HCI_LM_ENCRYPT is already active
-rw-r--r--input/storage.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/input/storage.c b/input/storage.c
index fab7d6c2..5f467efb 100644
--- a/input/storage.c
+++ b/input/storage.c
@@ -219,6 +219,11 @@ int encrypt_link(bdaddr_t *src, bdaddr_t *dst)
if (ioctl(dd, HCIGETCONNINFO, (unsigned long) cr) < 0)
goto fail;
+ if (cr->conn_info->link_mode & HCI_LM_ENCRYPT) {
+ /* Already encrypted */
+ goto done;
+ }
+
if (hci_authenticate_link(dd, htobs(cr->conn_info->handle), 1000) < 0) {
error("Link authentication failed: %s (%d)",
strerror(errno), errno);
@@ -231,6 +236,7 @@ int encrypt_link(bdaddr_t *src, bdaddr_t *dst)
goto fail;
}
+done:
free(cr);
hci_close_dev(dd);