summaryrefslogtreecommitdiffstats
path: root/net/bluetooth/hci_conn.c
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2006-07-06 12:38:46 +0200
committerDavid S. Miller <davem@sunset.davemloft.net>2006-09-29 03:01:25 +0200
commitb219e3ac66183fc9771b94af931fb5fd41d586ec (patch)
tree671a6a553c6744fce2eb35c6508249cbc616c326 /net/bluetooth/hci_conn.c
parent[Bluetooth] Remove unused host controller attributes (diff)
downloadlinux-b219e3ac66183fc9771b94af931fb5fd41d586ec.tar.xz
linux-b219e3ac66183fc9771b94af931fb5fd41d586ec.zip
[Bluetooth] Integrate low-level connections into the driver model
This patch integrates the low-level connections (ACL and SCO) into the driver model. Every connection is presented as device with the parent set to its host controller device. Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
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)
if (hdev->notify)
hdev->notify(hdev, HCI_NOTIFY_CONN_ADD);
+ hci_conn_add_sysfs(conn);
+
tasklet_enable(&hdev->tx_task);
return conn;
@@ -211,6 +213,8 @@ int hci_conn_del(struct hci_conn *conn)
tasklet_disable(&hdev->tx_task);
+ hci_conn_del_sysfs(conn);
+
hci_conn_hash_del(hdev, conn);
if (hdev->notify)
hdev->notify(hdev, HCI_NOTIFY_CONN_DEL);
@@ -221,7 +225,9 @@ int hci_conn_del(struct hci_conn *conn)
hci_dev_put(hdev);
- kfree(conn);
+ /* will free via device release */
+ put_device(&conn->dev);
+
return 0;
}