Lines Matching refs:hcon
46 struct hci_conn *hcon;
123 static struct sco_conn *sco_conn_add(struct hci_conn *hcon)
125 struct hci_dev *hdev = hcon->hdev;
126 struct sco_conn *conn = hcon->sco_data;
129 if (!conn->hcon)
130 conn->hcon = hcon;
141 hcon->sco_data = conn;
142 conn->hcon = hcon;
149 BT_DBG("hcon %p conn %p", hcon, conn);
170 if (conn->hcon)
171 hci_conn_drop(conn->hcon);
181 static void sco_conn_del(struct hci_conn *hcon, int err)
183 struct sco_conn *conn = hcon->sco_data;
189 BT_DBG("hcon %p conn %p, err %d", hcon, conn, err);
209 hcon->sco_data = NULL;
243 struct hci_conn *hcon;
266 hcon = hci_connect_sco(hdev, type, &sco_pi(sk)->dst,
268 if (IS_ERR(hcon)) {
269 err = PTR_ERR(hcon);
273 conn = sco_conn_add(hcon);
275 hci_conn_drop(hcon);
289 bacpy(&sco_pi(sk)->src, &hcon->src);
291 if (hcon->state == BT_CONNECTED) {
318 hci_send_sco(conn->hcon, skb);
440 if (sco_pi(sk)->conn->hcon) {
444 hci_conn_drop(sco_pi(sk)->conn->hcon);
445 sco_pi(sk)->conn->hcon = NULL;
810 sco_conn_defer_accept(pi->conn->hcon, pi->setting);
1006 cinfo.hci_handle = sco_pi(sk)->conn->hcon->handle;
1007 memcpy(cinfo.dev_class, sco_pi(sk)->conn->hcon->dev_class, 3);
1077 phys = hci_conn_get_phy(sco_pi(sk)->conn->hcon);
1276 if (!conn->hcon) {
1281 parent = sco_get_sock_listen(&conn->hcon->src);
1299 bacpy(&sco_pi(sk)->src, &conn->hcon->src);
1300 bacpy(&sco_pi(sk)->dst, &conn->hcon->dst);
1302 hci_conn_hold(conn->hcon);
1347 static void sco_connect_cfm(struct hci_conn *hcon, __u8 status)
1349 if (hcon->type != SCO_LINK && hcon->type != ESCO_LINK)
1352 BT_DBG("hcon %p bdaddr %pMR status %u", hcon, &hcon->dst, status);
1357 conn = sco_conn_add(hcon);
1361 sco_conn_del(hcon, bt_to_errno(status));
1364 static void sco_disconn_cfm(struct hci_conn *hcon, __u8 reason)
1366 if (hcon->type != SCO_LINK && hcon->type != ESCO_LINK)
1369 BT_DBG("hcon %p reason %d", hcon, reason);
1371 sco_conn_del(hcon, bt_to_errno(reason));
1374 void sco_recv_scodata(struct hci_conn *hcon, struct sk_buff *skb)
1376 struct sco_conn *conn = hcon->sco_data;