Lines Matching refs:hcon

46 	struct hci_conn	*hcon;  member
123 static struct sco_conn *sco_conn_add(struct hci_conn *hcon) in sco_conn_add() argument
125 struct hci_dev *hdev = hcon->hdev; in sco_conn_add()
126 struct sco_conn *conn = hcon->sco_data; in sco_conn_add()
137 hcon->sco_data = conn; in sco_conn_add()
138 conn->hcon = hcon; in sco_conn_add()
145 BT_DBG("hcon %p conn %p", hcon, conn); in sco_conn_add()
166 if (conn->hcon) in sco_chan_del()
167 hci_conn_drop(conn->hcon); in sco_chan_del()
177 static void sco_conn_del(struct hci_conn *hcon, int err) in sco_conn_del() argument
179 struct sco_conn *conn = hcon->sco_data; in sco_conn_del()
185 BT_DBG("hcon %p conn %p, err %d", hcon, conn, err); in sco_conn_del()
204 hcon->sco_data = NULL; in sco_conn_del()
240 struct hci_conn *hcon; in sco_connect() local
254 hcon = hci_connect_sco(hdev, type, &sco_pi(sk)->dst, in sco_connect()
256 if (IS_ERR(hcon)) in sco_connect()
257 return PTR_ERR(hcon); in sco_connect()
259 conn = sco_conn_add(hcon); in sco_connect()
261 hci_conn_drop(hcon); in sco_connect()
266 bacpy(&sco_pi(sk)->src, &hcon->src); in sco_connect()
272 if (hcon->state == BT_CONNECTED) { in sco_connect()
304 hci_send_sco(conn->hcon, skb); in sco_send_frame()
426 if (sco_pi(sk)->conn->hcon) { in __sco_sock_close()
430 hci_conn_drop(sco_pi(sk)->conn->hcon); in __sco_sock_close()
431 sco_pi(sk)->conn->hcon = NULL; in __sco_sock_close()
809 sco_conn_defer_accept(pi->conn->hcon, pi->setting); in sco_sock_recvmsg()
941 cinfo.hci_handle = sco_pi(sk)->conn->hcon->handle; in sco_sock_getsockopt_old()
942 memcpy(cinfo.dev_class, sco_pi(sk)->conn->hcon->dev_class, 3); in sco_sock_getsockopt_old()
1007 phys = hci_conn_get_phy(sco_pi(sk)->conn->hcon); in sco_sock_getsockopt()
1110 if (!conn->hcon) { in sco_conn_ready()
1115 parent = sco_get_sock_listen(&conn->hcon->src); in sco_conn_ready()
1133 bacpy(&sco_pi(sk)->src, &conn->hcon->src); in sco_conn_ready()
1134 bacpy(&sco_pi(sk)->dst, &conn->hcon->dst); in sco_conn_ready()
1136 hci_conn_hold(conn->hcon); in sco_conn_ready()
1181 static void sco_connect_cfm(struct hci_conn *hcon, __u8 status) in sco_connect_cfm() argument
1183 if (hcon->type != SCO_LINK && hcon->type != ESCO_LINK) in sco_connect_cfm()
1186 BT_DBG("hcon %p bdaddr %pMR status %u", hcon, &hcon->dst, status); in sco_connect_cfm()
1191 conn = sco_conn_add(hcon); in sco_connect_cfm()
1195 sco_conn_del(hcon, bt_to_errno(status)); in sco_connect_cfm()
1198 static void sco_disconn_cfm(struct hci_conn *hcon, __u8 reason) in sco_disconn_cfm() argument
1200 if (hcon->type != SCO_LINK && hcon->type != ESCO_LINK) in sco_disconn_cfm()
1203 BT_DBG("hcon %p reason %d", hcon, reason); in sco_disconn_cfm()
1205 sco_conn_del(hcon, bt_to_errno(reason)); in sco_disconn_cfm()
1208 void sco_recv_scodata(struct hci_conn *hcon, struct sk_buff *skb) in sco_recv_scodata() argument
1210 struct sco_conn *conn = hcon->sco_data; in sco_recv_scodata()