aboutsummaryrefslogtreecommitdiffstats
path: root/net/bluetooth/hci_conn.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/bluetooth/hci_conn.c')
-rw-r--r--net/bluetooth/hci_conn.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/net/bluetooth/hci_conn.c b/net/bluetooth/hci_conn.c
index 3163330cd4f1..bcd158f40bb9 100644
--- a/net/bluetooth/hci_conn.c
+++ b/net/bluetooth/hci_conn.c
@@ -393,6 +393,9 @@ int hci_conn_del(struct hci_conn *conn)
393 393
394 hci_dev_put(hdev); 394 hci_dev_put(hdev);
395 395
396 if (conn->handle == 0)
397 kfree(conn);
398
396 return 0; 399 return 0;
397} 400}
398 401
@@ -608,11 +611,11 @@ int hci_conn_security(struct hci_conn *conn, __u8 sec_level, __u8 auth_type)
608 goto encrypt; 611 goto encrypt;
609 612
610auth: 613auth:
611 if (test_and_set_bit(HCI_CONN_ENCRYPT_PEND, &conn->pend)) 614 if (test_bit(HCI_CONN_ENCRYPT_PEND, &conn->pend))
612 return 0; 615 return 0;
613 616
614 hci_conn_auth(conn, sec_level, auth_type); 617 if (!hci_conn_auth(conn, sec_level, auth_type))
615 return 0; 618 return 0;
616 619
617encrypt: 620encrypt:
618 if (conn->link_mode & HCI_LM_ENCRYPT) 621 if (conn->link_mode & HCI_LM_ENCRYPT)