Lines Matching refs:hcon
25 struct hci_conn *hcon; member
115 static struct iso_conn *iso_conn_add(struct hci_conn *hcon) in iso_conn_add() argument
117 struct iso_conn *conn = hcon->iso_data; in iso_conn_add()
129 hcon->iso_data = conn; in iso_conn_add()
130 conn->hcon = hcon; in iso_conn_add()
133 BT_DBG("hcon %p conn %p", hcon, conn); in iso_conn_add()
154 if (conn->hcon) in iso_chan_del()
155 hci_conn_drop(conn->hcon); in iso_chan_del()
172 static void iso_conn_del(struct hci_conn *hcon, int err) in iso_conn_del() argument
174 struct iso_conn *conn = hcon->iso_data; in iso_conn_del()
180 BT_DBG("hcon %p conn %p, err %d", hcon, conn, err); in iso_conn_del()
200 hcon->iso_data = NULL; in iso_conn_del()
249 struct hci_conn *hcon; in iso_connect_bis() local
273 hcon = hci_connect_bis(hdev, &iso_pi(sk)->dst, iso_pi(sk)->dst_type, in iso_connect_bis()
276 if (IS_ERR(hcon)) { in iso_connect_bis()
277 err = PTR_ERR(hcon); in iso_connect_bis()
281 conn = iso_conn_add(hcon); in iso_connect_bis()
283 hci_conn_drop(hcon); in iso_connect_bis()
289 bacpy(&iso_pi(sk)->src, &hcon->src); in iso_connect_bis()
295 if (hcon->state == BT_CONNECTED) { in iso_connect_bis()
312 struct hci_conn *hcon; in iso_connect_cis() local
338 hcon = hci_bind_cis(hdev, &iso_pi(sk)->dst, in iso_connect_cis()
341 if (IS_ERR(hcon)) { in iso_connect_cis()
342 err = PTR_ERR(hcon); in iso_connect_cis()
346 hcon = hci_connect_cis(hdev, &iso_pi(sk)->dst, in iso_connect_cis()
349 if (IS_ERR(hcon)) { in iso_connect_cis()
350 err = PTR_ERR(hcon); in iso_connect_cis()
355 conn = iso_conn_add(hcon); in iso_connect_cis()
357 hci_conn_drop(hcon); in iso_connect_cis()
363 bacpy(&iso_pi(sk)->src, &hcon->src); in iso_connect_cis()
369 if (hcon->state == BT_CONNECTED) { in iso_connect_cis()
389 return &iso_pi(sk)->conn->hcon->iso_qos; in iso_sock_get_qos()
415 hci_send_iso(conn->hcon, skb); in iso_send_frame()
589 if (iso_pi(sk)->conn->hcon) { in __iso_sock_close()
593 hci_conn_drop(iso_pi(sk)->conn->hcon); in __iso_sock_close()
594 iso_pi(sk)->conn->hcon = NULL; in __iso_sock_close()
602 if (iso_pi(sk)->conn->hcon) in __iso_sock_close()
603 iso_conn_defer_reject(iso_pi(sk)->conn->hcon); in __iso_sock_close()
612 iso_pi(sk)->conn->hcon) { in __iso_sock_close()
613 hci_conn_del(iso_pi(sk)->conn->hcon); in __iso_sock_close()
614 iso_pi(sk)->conn->hcon = NULL; in __iso_sock_close()
1036 skb = bt_skb_sendmsg(sk, msg, len, conn->hcon->hdev->iso_mtu, in iso_sock_sendmsg()
1050 tmp = bt_skb_sendmsg(sk, msg, len, conn->hcon->hdev->iso_mtu, in iso_sock_sendmsg()
1111 iso_conn_defer_accept(pi->conn->hcon); in iso_sock_recvmsg()
1296 base_len = iso_pi(sk)->conn->hcon->le_per_adv_data_len; in iso_sock_getsockopt()
1297 base = iso_pi(sk)->conn->hcon->le_per_adv_data; in iso_sock_getsockopt()
1402 struct hci_conn *hcon; member
1426 if (!conn->hcon) { in iso_conn_ready()
1431 ev = hci_recv_event_data(conn->hcon->hdev, in iso_conn_ready()
1434 parent = iso_get_sock_listen(&conn->hcon->src, in iso_conn_ready()
1435 &conn->hcon->dst, in iso_conn_ready()
1438 parent = iso_get_sock_listen(&conn->hcon->src, in iso_conn_ready()
1458 bacpy(&iso_pi(sk)->src, &conn->hcon->src); in iso_conn_ready()
1459 iso_pi(sk)->src_type = conn->hcon->src_type; in iso_conn_ready()
1465 if (!bacmp(&conn->hcon->dst, BDADDR_ANY)) { in iso_conn_ready()
1466 bacpy(&conn->hcon->dst, &iso_pi(parent)->dst); in iso_conn_ready()
1467 conn->hcon->dst_type = iso_pi(parent)->dst_type; in iso_conn_ready()
1468 conn->hcon->sync_handle = iso_pi(parent)->sync_handle; in iso_conn_ready()
1471 bacpy(&iso_pi(sk)->dst, &conn->hcon->dst); in iso_conn_ready()
1472 iso_pi(sk)->dst_type = conn->hcon->dst_type; in iso_conn_ready()
1474 hci_conn_hold(conn->hcon); in iso_conn_ready()
1574 static void iso_connect_cfm(struct hci_conn *hcon, __u8 status) in iso_connect_cfm() argument
1576 if (hcon->type != ISO_LINK) { in iso_connect_cfm()
1577 if (hcon->type != LE_LINK) in iso_connect_cfm()
1582 if (hcon->link) in iso_connect_cfm()
1583 iso_conn_del(hcon->link, bt_to_errno(status)); in iso_connect_cfm()
1588 hci_le_create_cis(hcon); in iso_connect_cfm()
1592 BT_DBG("hcon %p bdaddr %pMR status %d", hcon, &hcon->dst, status); in iso_connect_cfm()
1597 conn = iso_conn_add(hcon); in iso_connect_cfm()
1601 iso_conn_del(hcon, bt_to_errno(status)); in iso_connect_cfm()
1605 static void iso_disconn_cfm(struct hci_conn *hcon, __u8 reason) in iso_disconn_cfm() argument
1607 if (hcon->type != ISO_LINK) in iso_disconn_cfm()
1610 BT_DBG("hcon %p reason %d", hcon, reason); in iso_disconn_cfm()
1612 iso_conn_del(hcon, bt_to_errno(reason)); in iso_disconn_cfm()
1615 void iso_recv(struct hci_conn *hcon, struct sk_buff *skb, u16 flags) in iso_recv() argument
1617 struct iso_conn *conn = hcon->iso_data; in iso_recv()