summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorHemant Gupta <hemant.gupta@stericsson.com>2012-04-18 14:46:26 +0530
committerGustavo Padovan <gustavo@padovan.org>2012-05-09 01:40:36 -0300
commit35d4adcca1707c551f4598f68fe83118dd82cd60 (patch)
tree6dc676a5fcc755d78ca9252e398067bc3cffc8da /net
parentf4001d28464d92db5cae7702d65cf18162043a12 (diff)
downloadlinux-stable-35d4adcca1707c551f4598f68fe83118dd82cd60.tar.gz
linux-stable-35d4adcca1707c551f4598f68fe83118dd82cd60.tar.bz2
linux-stable-35d4adcca1707c551f4598f68fe83118dd82cd60.zip
Bluetooth: Don't distribute keys in case of Encryption Failure
SMP Keys should only be distributeed when encryption is successful. Signed-off-by: Hemant Gupta <hemant.gupta@stericsson.com> Signed-off-by: Gustavo Padovan <gustavo@padovan.org>
Diffstat (limited to 'net')
-rw-r--r--net/bluetooth/l2cap_core.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/bluetooth/l2cap_core.c b/net/bluetooth/l2cap_core.c
index 913cec3e52d7..ce93dcf0c2db 100644
--- a/net/bluetooth/l2cap_core.c
+++ b/net/bluetooth/l2cap_core.c
@@ -4813,7 +4813,8 @@ int l2cap_security_cfm(struct hci_conn *hcon, u8 status, u8 encrypt)
BT_DBG("conn %p", conn);
if (hcon->type == LE_LINK) {
- smp_distribute_keys(conn, 0);
+ if (!status && encrypt)
+ smp_distribute_keys(conn, 0);
cancel_delayed_work(&conn->security_timer);
}