mirror of
https://github.com/freebsd/freebsd-src.git
synced 2024-12-04 08:09:08 +00:00
Disconnect LE socket when the HCI connection associated is disconnected.
This commit is contained in:
parent
04a83165f2
commit
b32073c458
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=301558
@ -346,7 +346,8 @@ ng_l2cap_new_chan(ng_l2cap_p l2cap, ng_l2cap_con_p con, u_int16_t psm, int idtyp
|
||||
ch->scid = ng_l2cap_get_cid(l2cap,
|
||||
(con->linktype!= NG_HCI_LINK_ACL));
|
||||
}
|
||||
|
||||
|
||||
ch->idtype = idtype;
|
||||
if (ch->scid != NG_L2CAP_NULL_CID) {
|
||||
/* Initialize channel */
|
||||
ch->psm = psm;
|
||||
|
@ -1389,7 +1389,13 @@ ng_l2cap_l2ca_discon_ind(ng_l2cap_chan_p ch)
|
||||
error = ENOMEM;
|
||||
else {
|
||||
ip = (ng_l2cap_l2ca_discon_ind_ip *)(msg->data);
|
||||
ip->lcid = ch->scid;
|
||||
ip->idtype = ch->idtype;
|
||||
if(ch->idtype == NG_L2CAP_L2CA_IDTYPE_ATT||
|
||||
ch->idtype == NG_L2CAP_L2CA_IDTYPE_SMP)
|
||||
ip->lcid = ch->con->con_handle;
|
||||
else
|
||||
ip->lcid = ch->scid;
|
||||
|
||||
NG_SEND_MSG_HOOK(error, l2cap->node, msg, l2cap->l2c, 0);
|
||||
}
|
||||
|
||||
|
@ -1115,7 +1115,7 @@ ng_btsocket_l2cap_process_l2ca_discon_ind(struct ng_mesg *msg,
|
||||
|
||||
/* Look for the socket with given channel ID */
|
||||
pcb = ng_btsocket_l2cap_pcb_by_cid(&rt->src, ip->lcid,
|
||||
NG_L2CAP_L2CA_IDTYPE_BREDR);
|
||||
ip->idtype);
|
||||
if (pcb == NULL) {
|
||||
mtx_unlock(&ng_btsocket_l2cap_sockets_mtx);
|
||||
return (0);
|
||||
|
Loading…
Reference in New Issue
Block a user