diff options
author | Maksim Yevmenkin <emax@FreeBSD.org> | 2015-12-23 16:32:04 +0000 |
---|---|---|
committer | Maksim Yevmenkin <emax@FreeBSD.org> | 2015-12-23 16:32:04 +0000 |
commit | 74cc817d850152ec893772d945384b337ca8fcbe (patch) | |
tree | 183dabff5065960d0a4ea366a8619026a276ec22 | |
parent | 91569f1f388a2843ae567d9027d7d67f3e9590d0 (diff) |
Notes
-rw-r--r-- | sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c b/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c index d044ad93db29..57628b0e6b90 100644 --- a/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c +++ b/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c @@ -708,8 +708,15 @@ static int ng_btsocket_l2cap_process_l2ca_enc_change(struct ng_mesg *msg, ng_bts op = (ng_l2cap_l2ca_enc_chg_op *)(msg->data); + mtx_lock(&ng_btsocket_l2cap_sockets_mtx); + pcb = ng_btsocket_l2cap_pcb_by_cid(&rt->src, op->lcid, op->idtype); + if (pcb == NULL) { + mtx_unlock(&ng_btsocket_l2cap_sockets_mtx); + return (ENOENT); + } + mtx_lock(&pcb->pcb_mtx); pcb->encryption = op->result; @@ -729,6 +736,7 @@ static int ng_btsocket_l2cap_process_l2ca_enc_change(struct ng_mesg *msg, ng_bts } } mtx_unlock(&pcb->pcb_mtx); + mtx_unlock(&ng_btsocket_l2cap_sockets_mtx); return 0; } |