diff options
Diffstat (limited to 'net/bluetooth/hci_event.c')
-rw-r--r-- | net/bluetooth/hci_event.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c index 643c5a8d4050..4ebfcedd9ae7 100644 --- a/net/bluetooth/hci_event.c +++ b/net/bluetooth/hci_event.c | |||
@@ -2209,7 +2209,7 @@ static void hci_disconn_complete_evt(struct hci_dev *hdev, struct sk_buff *skb) | |||
2209 | /* Fall through */ | 2209 | /* Fall through */ |
2210 | 2210 | ||
2211 | case HCI_AUTO_CONN_ALWAYS: | 2211 | case HCI_AUTO_CONN_ALWAYS: |
2212 | hci_pend_le_conn_add(hdev, &conn->dst, conn->dst_type); | 2212 | hci_pend_le_conn_add(hdev, params); |
2213 | break; | 2213 | break; |
2214 | 2214 | ||
2215 | default: | 2215 | default: |
@@ -4036,6 +4036,7 @@ static void hci_disconn_phylink_complete_evt(struct hci_dev *hdev, | |||
4036 | static void hci_le_conn_complete_evt(struct hci_dev *hdev, struct sk_buff *skb) | 4036 | static void hci_le_conn_complete_evt(struct hci_dev *hdev, struct sk_buff *skb) |
4037 | { | 4037 | { |
4038 | struct hci_ev_le_conn_complete *ev = (void *) skb->data; | 4038 | struct hci_ev_le_conn_complete *ev = (void *) skb->data; |
4039 | struct hci_conn_params *params; | ||
4039 | struct hci_conn *conn; | 4040 | struct hci_conn *conn; |
4040 | struct smp_irk *irk; | 4041 | struct smp_irk *irk; |
4041 | u8 addr_type; | 4042 | u8 addr_type; |
@@ -4152,7 +4153,9 @@ static void hci_le_conn_complete_evt(struct hci_dev *hdev, struct sk_buff *skb) | |||
4152 | 4153 | ||
4153 | hci_proto_connect_cfm(conn, ev->status); | 4154 | hci_proto_connect_cfm(conn, ev->status); |
4154 | 4155 | ||
4155 | hci_pend_le_conn_del(hdev, &conn->dst, conn->dst_type); | 4156 | params = hci_conn_params_lookup(hdev, &conn->dst, conn->dst_type); |
4157 | if (params) | ||
4158 | hci_pend_le_conn_del(hdev, params); | ||
4156 | 4159 | ||
4157 | unlock: | 4160 | unlock: |
4158 | hci_dev_unlock(hdev); | 4161 | hci_dev_unlock(hdev); |