Lines Matching refs:pcb
381 ng_btsocket_sco_pcb_t *pcb = NULL; in ng_btsocket_sco_process_lp_con_cfm() local
392 pcb = ng_btsocket_sco_pcb_by_addrs(&rt->src, &ep->bdaddr); in ng_btsocket_sco_process_lp_con_cfm()
393 if (pcb == NULL) { in ng_btsocket_sco_process_lp_con_cfm()
404 pcb->src.b[5], pcb->src.b[4], pcb->src.b[3], in ng_btsocket_sco_process_lp_con_cfm()
405 pcb->src.b[2], pcb->src.b[1], pcb->src.b[0], in ng_btsocket_sco_process_lp_con_cfm()
406 pcb->dst.b[5], pcb->dst.b[4], pcb->dst.b[3], in ng_btsocket_sco_process_lp_con_cfm()
407 pcb->dst.b[2], pcb->dst.b[1], pcb->dst.b[0], in ng_btsocket_sco_process_lp_con_cfm()
408 ep->status, ep->con_handle, pcb->state); in ng_btsocket_sco_process_lp_con_cfm()
410 if (pcb->state != NG_BTSOCKET_SCO_CONNECTING) { in ng_btsocket_sco_process_lp_con_cfm()
411 mtx_unlock(&pcb->pcb_mtx); in ng_btsocket_sco_process_lp_con_cfm()
417 ng_btsocket_sco_untimeout(pcb); in ng_btsocket_sco_process_lp_con_cfm()
425 pcb->con_handle = ep->con_handle; in ng_btsocket_sco_process_lp_con_cfm()
426 pcb->state = NG_BTSOCKET_SCO_OPEN; in ng_btsocket_sco_process_lp_con_cfm()
427 soisconnected(pcb->so); in ng_btsocket_sco_process_lp_con_cfm()
433 pcb->so->so_error = ECONNREFUSED; /* XXX convert status ??? */ in ng_btsocket_sco_process_lp_con_cfm()
434 pcb->state = NG_BTSOCKET_SCO_CLOSED; in ng_btsocket_sco_process_lp_con_cfm()
435 soisdisconnected(pcb->so); in ng_btsocket_sco_process_lp_con_cfm()
438 mtx_unlock(&pcb->pcb_mtx); in ng_btsocket_sco_process_lp_con_cfm()
454 ng_btsocket_sco_pcb_t *pcb = NULL, *pcb1 = NULL; in ng_btsocket_sco_process_lp_con_ind() local
474 pcb = ng_btsocket_sco_pcb_by_addr(&rt->src); in ng_btsocket_sco_process_lp_con_ind()
475 if (pcb != NULL) { in ng_btsocket_sco_process_lp_con_ind()
480 CURVNET_SET(pcb->so->so_vnet); in ng_btsocket_sco_process_lp_con_ind()
481 so1 = sonewconn(pcb->so, 0); in ng_btsocket_sco_process_lp_con_ind()
502 if (bcmp(&pcb->src, NG_HCI_BDADDR_ANY, sizeof(pcb->src)) != 0) in ng_btsocket_sco_process_lp_con_ind()
503 bcopy(&pcb->src, &pcb1->src, sizeof(pcb1->src)); in ng_btsocket_sco_process_lp_con_ind()
532 if (pcb != NULL) in ng_btsocket_sco_process_lp_con_ind()
533 mtx_unlock(&pcb->pcb_mtx); in ng_btsocket_sco_process_lp_con_ind()
549 ng_btsocket_sco_pcb_t *pcb = NULL; in ng_btsocket_sco_process_lp_discon_ind() local
560 pcb = ng_btsocket_sco_pcb_by_handle(&rt->src, ep->con_handle); in ng_btsocket_sco_process_lp_discon_ind()
561 if (pcb == NULL) { in ng_btsocket_sco_process_lp_discon_ind()
577 pcb->src.b[5], pcb->src.b[4], pcb->src.b[3], in ng_btsocket_sco_process_lp_discon_ind()
578 pcb->src.b[2], pcb->src.b[1], pcb->src.b[0], in ng_btsocket_sco_process_lp_discon_ind()
579 pcb->dst.b[5], pcb->dst.b[4], pcb->dst.b[3], in ng_btsocket_sco_process_lp_discon_ind()
580 pcb->dst.b[2], pcb->dst.b[1], pcb->dst.b[0], in ng_btsocket_sco_process_lp_discon_ind()
581 pcb->con_handle, pcb->state); in ng_btsocket_sco_process_lp_discon_ind()
583 if (pcb->flags & NG_BTSOCKET_SCO_TIMO) in ng_btsocket_sco_process_lp_discon_ind()
584 ng_btsocket_sco_untimeout(pcb); in ng_btsocket_sco_process_lp_discon_ind()
586 pcb->state = NG_BTSOCKET_SCO_CLOSED; in ng_btsocket_sco_process_lp_discon_ind()
587 soisdisconnected(pcb->so); in ng_btsocket_sco_process_lp_discon_ind()
589 mtx_unlock(&pcb->pcb_mtx); in ng_btsocket_sco_process_lp_discon_ind()
600 ng_btsocket_sco_send_lp_con_req(ng_btsocket_sco_pcb_p pcb) in ng_btsocket_sco_send_lp_con_req() argument
606 mtx_assert(&pcb->pcb_mtx, MA_OWNED); in ng_btsocket_sco_send_lp_con_req()
608 if (pcb->rt == NULL || in ng_btsocket_sco_send_lp_con_req()
609 pcb->rt->hook == NULL || NG_HOOK_NOT_VALID(pcb->rt->hook)) in ng_btsocket_sco_send_lp_con_req()
619 bcopy(&pcb->dst, &ep->bdaddr, sizeof(ep->bdaddr)); in ng_btsocket_sco_send_lp_con_req()
621 NG_SEND_MSG_HOOK(error, ng_btsocket_sco_node, msg, pcb->rt->hook, 0); in ng_btsocket_sco_send_lp_con_req()
660 ng_btsocket_sco_send_lp_discon_req(ng_btsocket_sco_pcb_p pcb) in ng_btsocket_sco_send_lp_discon_req() argument
666 mtx_assert(&pcb->pcb_mtx, MA_OWNED); in ng_btsocket_sco_send_lp_discon_req()
668 if (pcb->rt == NULL || in ng_btsocket_sco_send_lp_discon_req()
669 pcb->rt->hook == NULL || NG_HOOK_NOT_VALID(pcb->rt->hook)) in ng_btsocket_sco_send_lp_discon_req()
678 ep->con_handle = pcb->con_handle; in ng_btsocket_sco_send_lp_discon_req()
681 NG_SEND_MSG_HOOK(error, ng_btsocket_sco_node, msg, pcb->rt->hook, 0); in ng_btsocket_sco_send_lp_discon_req()
700 ng_btsocket_sco_pcb_t *pcb = NULL; in ng_btsocket_sco_data_input() local
757 pcb = ng_btsocket_sco_pcb_by_handle(&rt->src, con_handle); in ng_btsocket_sco_data_input()
758 if (pcb == NULL) { in ng_btsocket_sco_data_input()
765 if (pcb->state != NG_BTSOCKET_SCO_OPEN) { in ng_btsocket_sco_data_input()
771 pcb->state); in ng_btsocket_sco_data_input()
773 mtx_unlock(&pcb->pcb_mtx); in ng_btsocket_sco_data_input()
779 if (m->m_pkthdr.len > sbspace(&pcb->so->so_rcv)) { in ng_btsocket_sco_data_input()
787 sbspace(&pcb->so->so_rcv)); in ng_btsocket_sco_data_input()
789 mtx_unlock(&pcb->pcb_mtx); in ng_btsocket_sco_data_input()
795 sbappendrecord(&pcb->so->so_rcv, m); in ng_btsocket_sco_data_input()
798 sorwakeup(pcb->so); in ng_btsocket_sco_data_input()
800 mtx_unlock(&pcb->pcb_mtx); in ng_btsocket_sco_data_input()
862 ng_btsocket_sco_pcb_t *pcb = NULL; in ng_btsocket_sco_default_msg_input() local
886 pcb = ng_btsocket_sco_pcb_by_handle(&rt->src, ep->con_handle); in ng_btsocket_sco_default_msg_input()
887 if (pcb == NULL) { in ng_btsocket_sco_default_msg_input()
895 if (pcb->state == NG_BTSOCKET_SCO_OPEN) { in ng_btsocket_sco_default_msg_input()
897 ng_btsocket_sco_untimeout(pcb); in ng_btsocket_sco_default_msg_input()
901 sbdroprecord(&pcb->so->so_snd); in ng_btsocket_sco_default_msg_input()
904 if (sbavail(&pcb->so->so_snd) > 0) in ng_btsocket_sco_default_msg_input()
905 if (ng_btsocket_sco_send2(pcb) == 0) in ng_btsocket_sco_default_msg_input()
906 ng_btsocket_sco_timeout(pcb); in ng_btsocket_sco_default_msg_input()
909 sowwakeup(pcb->so); in ng_btsocket_sco_default_msg_input()
912 mtx_unlock(&pcb->pcb_mtx); in ng_btsocket_sco_default_msg_input()
1041 ng_btsocket_sco_pcb_p pcb = NULL, pcb_next = NULL; in ng_btsocket_sco_rtclean() local
1050 for(pcb = LIST_FIRST(&ng_btsocket_sco_sockets); pcb != NULL; ) { in ng_btsocket_sco_rtclean()
1051 mtx_lock(&pcb->pcb_mtx); in ng_btsocket_sco_rtclean()
1052 pcb_next = LIST_NEXT(pcb, next); in ng_btsocket_sco_rtclean()
1054 if (pcb->rt != NULL && in ng_btsocket_sco_rtclean()
1055 pcb->rt->hook != NULL && NG_HOOK_NOT_VALID(pcb->rt->hook)) { in ng_btsocket_sco_rtclean()
1056 if (pcb->flags & NG_BTSOCKET_SCO_TIMO) in ng_btsocket_sco_rtclean()
1057 ng_btsocket_sco_untimeout(pcb); in ng_btsocket_sco_rtclean()
1059 pcb->rt = NULL; in ng_btsocket_sco_rtclean()
1060 pcb->so->so_error = ENETDOWN; in ng_btsocket_sco_rtclean()
1061 pcb->state = NG_BTSOCKET_SCO_CLOSED; in ng_btsocket_sco_rtclean()
1062 soisdisconnected(pcb->so); in ng_btsocket_sco_rtclean()
1065 mtx_unlock(&pcb->pcb_mtx); in ng_btsocket_sco_rtclean()
1066 pcb = pcb_next; in ng_btsocket_sco_rtclean()
1200 ng_btsocket_sco_pcb_p pcb = so2sco_pcb(so); in ng_btsocket_sco_attach() local
1215 if (pcb != NULL) in ng_btsocket_sco_attach()
1227 pcb = malloc(sizeof(*pcb), in ng_btsocket_sco_attach()
1229 if (pcb == NULL) in ng_btsocket_sco_attach()
1233 so->so_pcb = (caddr_t) pcb; in ng_btsocket_sco_attach()
1234 pcb->so = so; in ng_btsocket_sco_attach()
1235 pcb->state = NG_BTSOCKET_SCO_CLOSED; in ng_btsocket_sco_attach()
1237 callout_init(&pcb->timo, 1); in ng_btsocket_sco_attach()
1246 mtx_init(&pcb->pcb_mtx, "btsocks_sco_pcb_mtx", NULL, in ng_btsocket_sco_attach()
1273 LIST_INSERT_HEAD(&ng_btsocket_sco_sockets, pcb, next); in ng_btsocket_sco_attach()
1289 ng_btsocket_sco_pcb_t *pcb = NULL; in ng_btsocket_sco_bind() local
1311 LIST_FOREACH(pcb, &ng_btsocket_sco_sockets, next) { in ng_btsocket_sco_bind()
1312 mtx_lock(&pcb->pcb_mtx); in ng_btsocket_sco_bind()
1314 if (bcmp(&pcb->src, &sa->sco_bdaddr, sizeof(bdaddr_t)) == 0) { in ng_btsocket_sco_bind()
1315 mtx_unlock(&pcb->pcb_mtx); in ng_btsocket_sco_bind()
1321 mtx_unlock(&pcb->pcb_mtx); in ng_btsocket_sco_bind()
1325 pcb = so2sco_pcb(so); in ng_btsocket_sco_bind()
1326 if (pcb == NULL) { in ng_btsocket_sco_bind()
1331 mtx_lock(&pcb->pcb_mtx); in ng_btsocket_sco_bind()
1332 bcopy(&sa->sco_bdaddr, &pcb->src, sizeof(pcb->src)); in ng_btsocket_sco_bind()
1333 mtx_unlock(&pcb->pcb_mtx); in ng_btsocket_sco_bind()
1348 ng_btsocket_sco_pcb_t *pcb = so2sco_pcb(so); in ng_btsocket_sco_connect() local
1354 if (pcb == NULL) in ng_btsocket_sco_connect()
1377 mtx_lock(&pcb->pcb_mtx); in ng_btsocket_sco_connect()
1379 if (pcb->state == NG_BTSOCKET_SCO_CONNECTING) { in ng_btsocket_sco_connect()
1380 mtx_unlock(&pcb->pcb_mtx); in ng_btsocket_sco_connect()
1386 if (bcmp(&sa->sco_bdaddr, &pcb->src, sizeof(pcb->src)) == 0) { in ng_btsocket_sco_connect()
1387 mtx_unlock(&pcb->pcb_mtx); in ng_btsocket_sco_connect()
1394 bcopy(&sa->sco_bdaddr, &pcb->dst, sizeof(pcb->dst)); in ng_btsocket_sco_connect()
1396 pcb->rt = NULL; in ng_btsocket_sco_connect()
1397 have_src = bcmp(&pcb->src, NG_HCI_BDADDR_ANY, sizeof(pcb->src)); in ng_btsocket_sco_connect()
1405 if (bcmp(&pcb->src, &rt->src, sizeof(rt->src)) == 0) in ng_btsocket_sco_connect()
1408 if (bcmp(&pcb->dst, &rt->src, sizeof(rt->src)) != 0) in ng_btsocket_sco_connect()
1414 pcb->rt = rt; in ng_btsocket_sco_connect()
1417 bcopy(&rt->src, &pcb->src, sizeof(pcb->src)); in ng_btsocket_sco_connect()
1426 error = ng_btsocket_sco_send_lp_con_req(pcb); in ng_btsocket_sco_connect()
1428 pcb->flags |= NG_BTSOCKET_SCO_CLIENT; in ng_btsocket_sco_connect()
1429 pcb->state = NG_BTSOCKET_SCO_CONNECTING; in ng_btsocket_sco_connect()
1430 soisconnecting(pcb->so); in ng_btsocket_sco_connect()
1432 ng_btsocket_sco_timeout(pcb); in ng_btsocket_sco_connect()
1436 mtx_unlock(&pcb->pcb_mtx); in ng_btsocket_sco_connect()
1460 ng_btsocket_sco_pcb_p pcb = so2sco_pcb(so); in ng_btsocket_sco_ctloutput() local
1465 if (pcb == NULL) in ng_btsocket_sco_ctloutput()
1471 mtx_lock(&pcb->pcb_mtx); in ng_btsocket_sco_ctloutput()
1475 if (pcb->state != NG_BTSOCKET_SCO_OPEN) { in ng_btsocket_sco_ctloutput()
1482 tmp = pcb->rt->pkt_size; in ng_btsocket_sco_ctloutput()
1487 tmp = pcb->con_handle; in ng_btsocket_sco_ctloutput()
1506 mtx_unlock(&pcb->pcb_mtx); in ng_btsocket_sco_ctloutput()
1518 ng_btsocket_sco_pcb_p pcb = so2sco_pcb(so); in ng_btsocket_sco_detach() local
1520 KASSERT(pcb != NULL, ("ng_btsocket_sco_detach: pcb == NULL")); in ng_btsocket_sco_detach()
1526 mtx_lock(&pcb->pcb_mtx); in ng_btsocket_sco_detach()
1528 if (pcb->flags & NG_BTSOCKET_SCO_TIMO) in ng_btsocket_sco_detach()
1529 ng_btsocket_sco_untimeout(pcb); in ng_btsocket_sco_detach()
1531 if (pcb->state == NG_BTSOCKET_SCO_OPEN) in ng_btsocket_sco_detach()
1532 ng_btsocket_sco_send_lp_discon_req(pcb); in ng_btsocket_sco_detach()
1534 pcb->state = NG_BTSOCKET_SCO_CLOSED; in ng_btsocket_sco_detach()
1536 LIST_REMOVE(pcb, next); in ng_btsocket_sco_detach()
1538 mtx_unlock(&pcb->pcb_mtx); in ng_btsocket_sco_detach()
1541 mtx_destroy(&pcb->pcb_mtx); in ng_btsocket_sco_detach()
1542 bzero(pcb, sizeof(*pcb)); in ng_btsocket_sco_detach()
1543 free(pcb, M_NETGRAPH_BTSOCKET_SCO); in ng_btsocket_sco_detach()
1556 ng_btsocket_sco_pcb_p pcb = so2sco_pcb(so); in ng_btsocket_sco_disconnect() local
1558 if (pcb == NULL) in ng_btsocket_sco_disconnect()
1563 mtx_lock(&pcb->pcb_mtx); in ng_btsocket_sco_disconnect()
1565 if (pcb->state == NG_BTSOCKET_SCO_DISCONNECTING) { in ng_btsocket_sco_disconnect()
1566 mtx_unlock(&pcb->pcb_mtx); in ng_btsocket_sco_disconnect()
1571 if (pcb->flags & NG_BTSOCKET_SCO_TIMO) in ng_btsocket_sco_disconnect()
1572 ng_btsocket_sco_untimeout(pcb); in ng_btsocket_sco_disconnect()
1574 if (pcb->state == NG_BTSOCKET_SCO_OPEN) { in ng_btsocket_sco_disconnect()
1575 ng_btsocket_sco_send_lp_discon_req(pcb); in ng_btsocket_sco_disconnect()
1577 pcb->state = NG_BTSOCKET_SCO_DISCONNECTING; in ng_btsocket_sco_disconnect()
1580 ng_btsocket_sco_timeout(pcb); in ng_btsocket_sco_disconnect()
1582 pcb->state = NG_BTSOCKET_SCO_CLOSED; in ng_btsocket_sco_disconnect()
1586 mtx_unlock(&pcb->pcb_mtx); in ng_btsocket_sco_disconnect()
1598 ng_btsocket_sco_pcb_p pcb = so2sco_pcb(so); in ng_btsocket_sco_listen() local
1601 if (pcb == NULL) in ng_btsocket_sco_listen()
1607 mtx_lock(&pcb->pcb_mtx); in ng_btsocket_sco_listen()
1613 if (bcmp(&pcb->src, NG_HCI_BDADDR_ANY, sizeof(bdaddr_t)) == 0) { in ng_btsocket_sco_listen()
1620 mtx_unlock(&pcb->pcb_mtx); in ng_btsocket_sco_listen()
1633 ng_btsocket_sco_pcb_p pcb = so2sco_pcb(so); in ng_btsocket_sco_peeraddr() local
1636 if (pcb == NULL) in ng_btsocket_sco_peeraddr()
1641 mtx_lock(&pcb->pcb_mtx); in ng_btsocket_sco_peeraddr()
1642 bcopy(&pcb->dst, &sa.sco_bdaddr, sizeof(sa.sco_bdaddr)); in ng_btsocket_sco_peeraddr()
1643 mtx_unlock(&pcb->pcb_mtx); in ng_btsocket_sco_peeraddr()
1661 ng_btsocket_sco_pcb_t *pcb = so2sco_pcb(so); in ng_btsocket_sco_send() local
1670 if (pcb == NULL || m == NULL || control != NULL) { in ng_btsocket_sco_send()
1675 mtx_lock(&pcb->pcb_mtx); in ng_btsocket_sco_send()
1678 if (pcb->state != NG_BTSOCKET_SCO_OPEN) { in ng_btsocket_sco_send()
1679 mtx_unlock(&pcb->pcb_mtx); in ng_btsocket_sco_send()
1685 if (pcb->rt == NULL || in ng_btsocket_sco_send()
1686 pcb->rt->hook == NULL || NG_HOOK_NOT_VALID(pcb->rt->hook)) { in ng_btsocket_sco_send()
1687 mtx_unlock(&pcb->pcb_mtx); in ng_btsocket_sco_send()
1693 if (m->m_pkthdr.len > pcb->rt->pkt_size) { in ng_btsocket_sco_send()
1696 __func__, m->m_pkthdr.len, pcb->rt->pkt_size); in ng_btsocket_sco_send()
1698 mtx_unlock(&pcb->pcb_mtx); in ng_btsocket_sco_send()
1710 sbappendrecord(&pcb->so->so_snd, m); in ng_btsocket_sco_send()
1713 if (!(pcb->flags & NG_BTSOCKET_SCO_TIMO)) { in ng_btsocket_sco_send()
1714 error = ng_btsocket_sco_send2(pcb); in ng_btsocket_sco_send()
1716 ng_btsocket_sco_timeout(pcb); in ng_btsocket_sco_send()
1718 sbdroprecord(&pcb->so->so_snd); /* XXX */ in ng_btsocket_sco_send()
1721 mtx_unlock(&pcb->pcb_mtx); in ng_btsocket_sco_send()
1734 ng_btsocket_sco_send2(ng_btsocket_sco_pcb_p pcb) in ng_btsocket_sco_send2() argument
1740 mtx_assert(&pcb->pcb_mtx, MA_OWNED); in ng_btsocket_sco_send2()
1742 while (pcb->rt->pending < pcb->rt->num_pkts && in ng_btsocket_sco_send2()
1743 sbavail(&pcb->so->so_snd) > 0) { in ng_btsocket_sco_send2()
1745 m = m_dup(pcb->so->so_snd.sb_mb, M_NOWAIT); in ng_btsocket_sco_send2()
1765 hdr->con_handle = htole16(NG_HCI_MK_CON_HANDLE(pcb->con_handle, 0, 0)); in ng_btsocket_sco_send2()
1769 NG_SEND_DATA_ONLY(error, pcb->rt->hook, m); in ng_btsocket_sco_send2()
1773 pcb->rt->pending ++; in ng_btsocket_sco_send2()
1776 return ((pcb->rt->pending > 0)? 0 : error); in ng_btsocket_sco_send2()
1786 ng_btsocket_sco_pcb_p pcb = so2sco_pcb(so); in ng_btsocket_sco_sockaddr() local
1789 if (pcb == NULL) in ng_btsocket_sco_sockaddr()
1794 mtx_lock(&pcb->pcb_mtx); in ng_btsocket_sco_sockaddr()
1795 bcopy(&pcb->src, &sa.sco_bdaddr, sizeof(sa.sco_bdaddr)); in ng_btsocket_sco_sockaddr()
1796 mtx_unlock(&pcb->pcb_mtx); in ng_btsocket_sco_sockaddr()
1907 ng_btsocket_sco_timeout(ng_btsocket_sco_pcb_p pcb) in ng_btsocket_sco_timeout() argument
1909 mtx_assert(&pcb->pcb_mtx, MA_OWNED); in ng_btsocket_sco_timeout()
1911 if (!(pcb->flags & NG_BTSOCKET_SCO_TIMO)) { in ng_btsocket_sco_timeout()
1912 pcb->flags |= NG_BTSOCKET_SCO_TIMO; in ng_btsocket_sco_timeout()
1913 callout_reset(&pcb->timo, bluetooth_sco_rtx_timeout(), in ng_btsocket_sco_timeout()
1914 ng_btsocket_sco_process_timeout, pcb); in ng_btsocket_sco_timeout()
1925 ng_btsocket_sco_untimeout(ng_btsocket_sco_pcb_p pcb) in ng_btsocket_sco_untimeout() argument
1927 mtx_assert(&pcb->pcb_mtx, MA_OWNED); in ng_btsocket_sco_untimeout()
1929 if (pcb->flags & NG_BTSOCKET_SCO_TIMO) { in ng_btsocket_sco_untimeout()
1930 callout_stop(&pcb->timo); in ng_btsocket_sco_untimeout()
1931 pcb->flags &= ~NG_BTSOCKET_SCO_TIMO; in ng_btsocket_sco_untimeout()
1944 ng_btsocket_sco_pcb_p pcb = (ng_btsocket_sco_pcb_p) xpcb; in ng_btsocket_sco_process_timeout() local
1946 mtx_lock(&pcb->pcb_mtx); in ng_btsocket_sco_process_timeout()
1948 pcb->flags &= ~NG_BTSOCKET_SCO_TIMO; in ng_btsocket_sco_process_timeout()
1949 pcb->so->so_error = ETIMEDOUT; in ng_btsocket_sco_process_timeout()
1951 switch (pcb->state) { in ng_btsocket_sco_process_timeout()
1954 pcb->state = NG_BTSOCKET_SCO_CLOSED; in ng_btsocket_sco_process_timeout()
1955 soisdisconnected(pcb->so); in ng_btsocket_sco_process_timeout()
1960 sbdroprecord(&pcb->so->so_snd); in ng_btsocket_sco_process_timeout()
1961 sowwakeup(pcb->so); in ng_btsocket_sco_process_timeout()
1967 pcb->state = NG_BTSOCKET_SCO_CLOSED; in ng_btsocket_sco_process_timeout()
1968 soisdisconnected(pcb->so); in ng_btsocket_sco_process_timeout()
1973 "%s: Invalid socket state=%d\n", __func__, pcb->state); in ng_btsocket_sco_process_timeout()
1977 mtx_unlock(&pcb->pcb_mtx); in ng_btsocket_sco_process_timeout()