|
@@ -750,8 +750,6 @@ static inline void hci_conn_complete_evt(struct hci_dev *hdev, struct sk_buff *s
|
|
|
if (test_bit(HCI_ENCRYPT, &hdev->flags))
|
|
|
conn->link_mode |= HCI_LM_ENCRYPT;
|
|
|
|
|
|
- hci_conn_hold(conn);
|
|
|
-
|
|
|
/* Get remote features */
|
|
|
if (conn->type == ACL_LINK) {
|
|
|
struct hci_cp_read_remote_features cp;
|
|
@@ -779,9 +777,11 @@ static inline void hci_conn_complete_evt(struct hci_dev *hdev, struct sk_buff *s
|
|
|
|
|
|
hci_send_cmd(hdev, OGF_LINK_CTL,
|
|
|
OCF_CHANGE_CONN_PTYPE, sizeof(cp), &cp);
|
|
|
+ } else {
|
|
|
+ /* Update disconnect timer */
|
|
|
+ hci_conn_hold(conn);
|
|
|
+ hci_conn_put(conn);
|
|
|
}
|
|
|
-
|
|
|
- hci_conn_put(conn);
|
|
|
} else
|
|
|
conn->state = BT_CLOSED;
|
|
|
|