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, in iso_connect_bis()
277 if (IS_ERR(hcon)) { in iso_connect_bis()
278 err = PTR_ERR(hcon); in iso_connect_bis()
282 conn = iso_conn_add(hcon); in iso_connect_bis()
284 hci_conn_drop(hcon); in iso_connect_bis()
299 bacpy(&iso_pi(sk)->src, &hcon->src); in iso_connect_bis()
301 if (hcon->state == BT_CONNECTED) { in iso_connect_bis()
321 struct hci_conn *hcon; in iso_connect_cis() local
347 hcon = hci_bind_cis(hdev, &iso_pi(sk)->dst, in iso_connect_cis()
350 if (IS_ERR(hcon)) { in iso_connect_cis()
351 err = PTR_ERR(hcon); in iso_connect_cis()
355 hcon = hci_connect_cis(hdev, &iso_pi(sk)->dst, in iso_connect_cis()
358 if (IS_ERR(hcon)) { in iso_connect_cis()
359 err = PTR_ERR(hcon); in iso_connect_cis()
364 conn = iso_conn_add(hcon); in iso_connect_cis()
366 hci_conn_drop(hcon); in iso_connect_cis()
381 bacpy(&iso_pi(sk)->src, &hcon->src); in iso_connect_cis()
383 if (hcon->state == BT_CONNECTED) { in iso_connect_cis()
406 return &iso_pi(sk)->conn->hcon->iso_qos; in iso_sock_get_qos()
432 hci_send_iso(conn->hcon, skb); in iso_send_frame()
606 if (iso_pi(sk)->conn->hcon) { in __iso_sock_close()
610 hci_conn_drop(iso_pi(sk)->conn->hcon); in __iso_sock_close()
611 iso_pi(sk)->conn->hcon = NULL; in __iso_sock_close()
619 if (iso_pi(sk)->conn->hcon) in __iso_sock_close()
620 iso_conn_defer_reject(iso_pi(sk)->conn->hcon); in __iso_sock_close()
629 iso_pi(sk)->conn->hcon) { in __iso_sock_close()
630 hci_conn_del(iso_pi(sk)->conn->hcon); in __iso_sock_close()
631 iso_pi(sk)->conn->hcon = NULL; in __iso_sock_close()
1054 skb = bt_skb_sendmsg(sk, msg, len, conn->hcon->hdev->iso_mtu, in iso_sock_sendmsg()
1068 tmp = bt_skb_sendmsg(sk, msg, len, conn->hcon->hdev->iso_mtu, in iso_sock_sendmsg()
1127 iso_conn_defer_accept(pi->conn->hcon); in iso_sock_recvmsg()
1308 base_len = iso_pi(sk)->conn->hcon->le_per_adv_data_len; in iso_sock_getsockopt()
1309 base = iso_pi(sk)->conn->hcon->le_per_adv_data; in iso_sock_getsockopt()
1414 struct hci_conn *hcon; member
1430 struct hci_conn *hcon; in iso_conn_ready() local
1437 hcon = conn->hcon; in iso_conn_ready()
1438 if (!hcon) in iso_conn_ready()
1441 ev = hci_recv_event_data(hcon->hdev, in iso_conn_ready()
1444 parent = iso_get_sock_listen(&hcon->src, in iso_conn_ready()
1445 &hcon->dst, in iso_conn_ready()
1448 parent = iso_get_sock_listen(&hcon->src, in iso_conn_ready()
1465 bacpy(&iso_pi(sk)->src, &hcon->src); in iso_conn_ready()
1466 iso_pi(sk)->src_type = hcon->src_type; in iso_conn_ready()
1472 if (!bacmp(&hcon->dst, BDADDR_ANY)) { in iso_conn_ready()
1473 bacpy(&hcon->dst, &iso_pi(parent)->dst); in iso_conn_ready()
1474 hcon->dst_type = iso_pi(parent)->dst_type; in iso_conn_ready()
1475 hcon->sync_handle = iso_pi(parent)->sync_handle; in iso_conn_ready()
1478 bacpy(&iso_pi(sk)->dst, &hcon->dst); in iso_conn_ready()
1479 iso_pi(sk)->dst_type = hcon->dst_type; in iso_conn_ready()
1481 hci_conn_hold(hcon); in iso_conn_ready()
1579 static void iso_connect_cfm(struct hci_conn *hcon, __u8 status) in iso_connect_cfm() argument
1581 if (hcon->type != ISO_LINK) { in iso_connect_cfm()
1582 if (hcon->type != LE_LINK) in iso_connect_cfm()
1587 if (hcon->link) in iso_connect_cfm()
1588 iso_conn_del(hcon->link, bt_to_errno(status)); in iso_connect_cfm()
1593 hci_le_create_cis(hcon); in iso_connect_cfm()
1597 BT_DBG("hcon %p bdaddr %pMR status %d", hcon, &hcon->dst, status); in iso_connect_cfm()
1602 conn = iso_conn_add(hcon); in iso_connect_cfm()
1606 iso_conn_del(hcon, bt_to_errno(status)); in iso_connect_cfm()
1610 static void iso_disconn_cfm(struct hci_conn *hcon, __u8 reason) in iso_disconn_cfm() argument
1612 if (hcon->type != ISO_LINK) in iso_disconn_cfm()
1615 BT_DBG("hcon %p reason %d", hcon, reason); in iso_disconn_cfm()
1617 iso_conn_del(hcon, bt_to_errno(reason)); in iso_disconn_cfm()
1620 void iso_recv(struct hci_conn *hcon, struct sk_buff *skb, u16 flags) in iso_recv() argument
1622 struct iso_conn *conn = hcon->iso_data; in iso_recv()