Lines Matching refs:sco_conn
447 void bt_sco_cleanup(struct bt_conn *sco_conn) in bt_sco_cleanup() argument
449 bt_conn_unref(sco_conn->sco.acl); in bt_sco_cleanup()
450 sco_conn->sco.acl = NULL; in bt_sco_cleanup()
451 bt_conn_unref(sco_conn); in bt_sco_cleanup()
456 struct bt_conn *sco_conn = NULL; in sco_conn_new() local
461 sco_conn = &sco_conns[i]; in sco_conn_new()
466 if (!sco_conn) { in sco_conn_new()
470 (void)memset(sco_conn, 0, sizeof(*sco_conn)); in sco_conn_new()
472 atomic_set(&sco_conn->ref, 1); in sco_conn_new()
474 return sco_conn; in sco_conn_new()
531 struct bt_conn *sco_conn; in bt_conn_create_sco() local
535 sco_conn = bt_conn_lookup_addr_sco(peer); in bt_conn_create_sco()
536 if (sco_conn) { in bt_conn_create_sco()
537 switch (sco_conn->state) { in bt_conn_create_sco()
540 return sco_conn; in bt_conn_create_sco()
542 bt_conn_unref(sco_conn); in bt_conn_create_sco()
553 sco_conn = bt_conn_add_sco(peer, link_type); in bt_conn_create_sco()
554 if (!sco_conn) { in bt_conn_create_sco()
560 bt_sco_cleanup(sco_conn); in bt_conn_create_sco()
568 BT_ERR("handle : %x", sco_conn->sco.acl->handle); in bt_conn_create_sco()
570 cp->handle = sco_conn->sco.acl->handle; in bt_conn_create_sco()
571 cp->pkt_type = sco_conn->sco.pkt_type; in bt_conn_create_sco()
580 bt_sco_cleanup(sco_conn); in bt_conn_create_sco()
584 bt_conn_set_state(sco_conn, BT_CONN_CONNECT); in bt_conn_create_sco()
586 return sco_conn; in bt_conn_create_sco()
633 struct bt_conn *sco_conn = sco_conn_new(); in bt_conn_add_sco() local
635 if (!sco_conn) { in bt_conn_add_sco()
639 sco_conn->sco.acl = bt_conn_lookup_addr_br(peer); in bt_conn_add_sco()
640 sco_conn->type = BT_CONN_TYPE_SCO; in bt_conn_add_sco()
644 sco_conn->sco.pkt_type = (bt_dev.br.esco_pkt_type & in bt_conn_add_sco()
647 sco_conn->sco.pkt_type = (bt_dev.br.esco_pkt_type & in bt_conn_add_sco()
651 sco_conn->sco.pkt_type = (bt_dev.br.esco_pkt_type & in bt_conn_add_sco()
655 return sco_conn; in bt_conn_add_sco()