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.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/net/bluetooth/hci_conn.c b/net/bluetooth/hci_conn.c
index 420ed4d7e57e..7e9515b41cc0 100644
--- a/net/bluetooth/hci_conn.c
+++ b/net/bluetooth/hci_conn.c
@@ -179,6 +179,8 @@ struct hci_conn *hci_conn_add(struct hci_dev *hdev, int type, bdaddr_t *dst)
179 if (hdev->notify) 179 if (hdev->notify)
180 hdev->notify(hdev, HCI_NOTIFY_CONN_ADD); 180 hdev->notify(hdev, HCI_NOTIFY_CONN_ADD);
181 181
182 hci_conn_add_sysfs(conn);
183
182 tasklet_enable(&hdev->tx_task); 184 tasklet_enable(&hdev->tx_task);
183 185
184 return conn; 186 return conn;
@@ -211,6 +213,8 @@ int hci_conn_del(struct hci_conn *conn)
211 213
212 tasklet_disable(&hdev->tx_task); 214 tasklet_disable(&hdev->tx_task);
213 215
216 hci_conn_del_sysfs(conn);
217
214 hci_conn_hash_del(hdev, conn); 218 hci_conn_hash_del(hdev, conn);
215 if (hdev->notify) 219 if (hdev->notify)
216 hdev->notify(hdev, HCI_NOTIFY_CONN_DEL); 220 hdev->notify(hdev, HCI_NOTIFY_CONN_DEL);
@@ -221,7 +225,9 @@ int hci_conn_del(struct hci_conn *conn)
221 225
222 hci_dev_put(hdev); 226 hci_dev_put(hdev);
223 227
224 kfree(conn); 228 /* will free via device release */
229 put_device(&conn->dev);
230
225 return 0; 231 return 0;
226} 232}
227 233