Lines Matching refs:chan

511 	struct l2cap_chan *chan = hdev->smp_data;  in smp_irk_matches()  local
516 if (!chan || !chan->data) in smp_irk_matches()
519 smp = chan->data; in smp_irk_matches()
532 struct l2cap_chan *chan = hdev->smp_data; in smp_generate_rpa() local
536 if (!chan || !chan->data) in smp_generate_rpa()
539 smp = chan->data; in smp_generate_rpa()
557 struct l2cap_chan *chan = hdev->smp_data; in smp_generate_oob() local
561 if (!chan || !chan->data) in smp_generate_oob()
564 smp = chan->data; in smp_generate_oob()
604 struct l2cap_chan *chan = conn->smp; in smp_send_cmd() local
609 if (!chan) in smp_send_cmd()
624 l2cap_chan_send(chan, &msg, 1 + len); in smp_send_cmd()
626 if (!chan->data) in smp_send_cmd()
629 smp = chan->data; in smp_send_cmd()
664 struct l2cap_chan *chan = conn->smp; in build_pairing_cmd() local
665 struct smp_chan *smp = chan->data; in build_pairing_cmd()
738 struct l2cap_chan *chan = conn->smp; in check_enc_key_size() local
740 struct smp_chan *smp = chan->data; in check_enc_key_size()
753 struct l2cap_chan *chan = conn->smp; in smp_chan_destroy() local
754 struct smp_chan *smp = chan->data; in smp_chan_destroy()
800 chan->data = NULL; in smp_chan_destroy()
808 struct l2cap_chan *chan = conn->smp; in smp_failure() local
816 if (chan->data) in smp_failure()
863 struct l2cap_chan *chan = conn->smp; in tk_request() local
864 struct smp_chan *smp = chan->data; in tk_request()
1040 struct l2cap_chan *chan = conn->smp; in smp_notify_keys() local
1041 struct smp_chan *smp = chan->data; in smp_notify_keys()
1362 struct l2cap_chan *chan = conn->smp; in smp_chan_create() local
1385 chan->data = smp; in smp_chan_create()
1606 struct l2cap_chan *chan; in smp_user_confirm_reply() local
1616 chan = conn->smp; in smp_user_confirm_reply()
1617 if (!chan) in smp_user_confirm_reply()
1620 l2cap_chan_lock(chan); in smp_user_confirm_reply()
1621 if (!chan->data) { in smp_user_confirm_reply()
1626 smp = chan->data; in smp_user_confirm_reply()
1664 l2cap_chan_unlock(chan); in smp_user_confirm_reply()
1711 struct l2cap_chan *chan = conn->smp; in smp_cmd_pairing_req() local
1725 if (!chan->data) in smp_cmd_pairing_req()
1728 smp = chan->data; in smp_cmd_pairing_req()
1846 struct l2cap_chan *chan = hdev->smp_data; in sc_send_public_key() local
1849 if (!chan || !chan->data) in sc_send_public_key()
1852 smp_dev = chan->data; in sc_send_public_key()
1896 struct l2cap_chan *chan = conn->smp; in smp_cmd_pairing_rsp() local
1897 struct smp_chan *smp = chan->data; in smp_cmd_pairing_rsp()
2051 struct l2cap_chan *chan = conn->smp; in smp_cmd_pairing_confirm() local
2052 struct smp_chan *smp = chan->data; in smp_cmd_pairing_confirm()
2093 struct l2cap_chan *chan = conn->smp; in smp_cmd_pairing_random() local
2094 struct smp_chan *smp = chan->data; in smp_cmd_pairing_random()
2287 struct l2cap_chan *chan; in smp_conn_security() local
2311 chan = conn->smp; in smp_conn_security()
2312 if (!chan) { in smp_conn_security()
2317 l2cap_chan_lock(chan); in smp_conn_security()
2320 if (chan->data) { in smp_conn_security()
2363 l2cap_chan_unlock(chan); in smp_conn_security()
2370 struct l2cap_chan *chan; in smp_cancel_pairing() local
2376 chan = conn->smp; in smp_cancel_pairing()
2377 if (!chan) in smp_cancel_pairing()
2380 l2cap_chan_lock(chan); in smp_cancel_pairing()
2382 smp = chan->data; in smp_cancel_pairing()
2390 l2cap_chan_unlock(chan); in smp_cancel_pairing()
2396 struct l2cap_chan *chan = conn->smp; in smp_cmd_encrypt_info() local
2397 struct smp_chan *smp = chan->data; in smp_cmd_encrypt_info()
2416 struct l2cap_chan *chan = conn->smp; in smp_cmd_master_ident() local
2417 struct smp_chan *smp = chan->data; in smp_cmd_master_ident()
2452 struct l2cap_chan *chan = conn->smp; in smp_cmd_ident_info() local
2453 struct smp_chan *smp = chan->data; in smp_cmd_ident_info()
2473 struct l2cap_chan *chan = conn->smp; in smp_cmd_ident_addr_info() local
2474 struct smp_chan *smp = chan->data; in smp_cmd_ident_addr_info()
2528 struct l2cap_chan *chan = conn->smp; in smp_cmd_sign_info() local
2529 struct smp_chan *smp = chan->data; in smp_cmd_sign_info()
2605 struct l2cap_chan *chan = conn->smp; in smp_cmd_public_key() local
2606 struct smp_chan *smp = chan->data; in smp_cmd_public_key()
2717 struct l2cap_chan *chan = conn->smp; in smp_cmd_dhkey_check() local
2719 struct smp_chan *smp = chan->data; in smp_cmd_dhkey_check()
2789 static int smp_sig_channel(struct l2cap_chan *chan, struct sk_buff *skb) in smp_sig_channel() argument
2791 struct l2cap_conn *conn = chan->conn; in smp_sig_channel()
2808 smp = chan->data; in smp_sig_channel()
2902 static void smp_teardown_cb(struct l2cap_chan *chan, int err) in smp_teardown_cb() argument
2904 struct l2cap_conn *conn = chan->conn; in smp_teardown_cb()
2906 BT_DBG("chan %p", chan); in smp_teardown_cb()
2908 if (chan->data) in smp_teardown_cb()
2912 l2cap_chan_put(chan); in smp_teardown_cb()
2915 static void bredr_pairing(struct l2cap_chan *chan) in bredr_pairing() argument
2917 struct l2cap_conn *conn = chan->conn; in bredr_pairing()
2923 BT_DBG("chan %p", chan); in bredr_pairing()
2959 if (chan->data) in bredr_pairing()
2983 static void smp_resume_cb(struct l2cap_chan *chan) in smp_resume_cb() argument
2985 struct smp_chan *smp = chan->data; in smp_resume_cb()
2986 struct l2cap_conn *conn = chan->conn; in smp_resume_cb()
2989 BT_DBG("chan %p", chan); in smp_resume_cb()
2992 bredr_pairing(chan); in smp_resume_cb()
3007 static void smp_ready_cb(struct l2cap_chan *chan) in smp_ready_cb() argument
3009 struct l2cap_conn *conn = chan->conn; in smp_ready_cb()
3012 BT_DBG("chan %p", chan); in smp_ready_cb()
3020 conn->smp = chan; in smp_ready_cb()
3023 bredr_pairing(chan); in smp_ready_cb()
3026 static int smp_recv_cb(struct l2cap_chan *chan, struct sk_buff *skb) in smp_recv_cb() argument
3030 BT_DBG("chan %p", chan); in smp_recv_cb()
3032 err = smp_sig_channel(chan, skb); in smp_recv_cb()
3034 struct smp_chan *smp = chan->data; in smp_recv_cb()
3039 hci_disconnect(chan->conn->hcon, HCI_ERROR_AUTH_FAILURE); in smp_recv_cb()
3045 static struct sk_buff *smp_alloc_skb_cb(struct l2cap_chan *chan, in smp_alloc_skb_cb() argument
3056 bt_cb(skb)->l2cap.chan = chan; in smp_alloc_skb_cb()
3080 struct l2cap_chan *chan; in smp_new_conn_cb() local
3084 chan = l2cap_chan_create(); in smp_new_conn_cb()
3085 if (!chan) in smp_new_conn_cb()
3088 chan->chan_type = pchan->chan_type; in smp_new_conn_cb()
3089 chan->ops = &smp_chan_ops; in smp_new_conn_cb()
3090 chan->scid = pchan->scid; in smp_new_conn_cb()
3091 chan->dcid = chan->scid; in smp_new_conn_cb()
3092 chan->imtu = pchan->imtu; in smp_new_conn_cb()
3093 chan->omtu = pchan->omtu; in smp_new_conn_cb()
3094 chan->mode = pchan->mode; in smp_new_conn_cb()
3101 atomic_set(&chan->nesting, L2CAP_NESTING_SMP); in smp_new_conn_cb()
3103 BT_DBG("created chan %p", chan); in smp_new_conn_cb()
3105 return chan; in smp_new_conn_cb()
3128 struct l2cap_chan *chan; in smp_add_cid() local
3163 chan = l2cap_chan_create(); in smp_add_cid()
3164 if (!chan) { in smp_add_cid()
3173 chan->data = smp; in smp_add_cid()
3175 l2cap_add_scid(chan, cid); in smp_add_cid()
3177 l2cap_chan_set_defaults(chan); in smp_add_cid()
3182 hci_copy_identity_address(hdev, &chan->src, &bdaddr_type); in smp_add_cid()
3185 chan->src_type = BDADDR_LE_PUBLIC; in smp_add_cid()
3187 chan->src_type = BDADDR_LE_RANDOM; in smp_add_cid()
3189 bacpy(&chan->src, &hdev->bdaddr); in smp_add_cid()
3190 chan->src_type = BDADDR_BREDR; in smp_add_cid()
3193 chan->state = BT_LISTEN; in smp_add_cid()
3194 chan->mode = L2CAP_MODE_BASIC; in smp_add_cid()
3195 chan->imtu = L2CAP_DEFAULT_MTU; in smp_add_cid()
3196 chan->ops = &smp_root_chan_ops; in smp_add_cid()
3199 atomic_set(&chan->nesting, L2CAP_NESTING_PARENT); in smp_add_cid()
3201 return chan; in smp_add_cid()
3204 static void smp_del_chan(struct l2cap_chan *chan) in smp_del_chan() argument
3208 BT_DBG("chan %p", chan); in smp_del_chan()
3210 smp = chan->data; in smp_del_chan()
3212 chan->data = NULL; in smp_del_chan()
3220 l2cap_chan_put(chan); in smp_del_chan()
3256 struct l2cap_chan *chan; in force_bredr_smp_write() local
3258 chan = smp_add_cid(hdev, L2CAP_CID_SMP_BREDR); in force_bredr_smp_write()
3259 if (IS_ERR(chan)) in force_bredr_smp_write()
3260 return PTR_ERR(chan); in force_bredr_smp_write()
3262 hdev->smp_bredr_data = chan; in force_bredr_smp_write()
3264 struct l2cap_chan *chan; in force_bredr_smp_write() local
3266 chan = hdev->smp_bredr_data; in force_bredr_smp_write()
3268 smp_del_chan(chan); in force_bredr_smp_write()
3373 struct l2cap_chan *chan; in smp_register() local
3384 chan = hdev->smp_data; in smp_register()
3386 smp_del_chan(chan); in smp_register()
3389 chan = smp_add_cid(hdev, L2CAP_CID_SMP); in smp_register()
3390 if (IS_ERR(chan)) in smp_register()
3391 return PTR_ERR(chan); in smp_register()
3393 hdev->smp_data = chan; in smp_register()
3414 chan = hdev->smp_bredr_data; in smp_register()
3416 smp_del_chan(chan); in smp_register()
3419 chan = smp_add_cid(hdev, L2CAP_CID_SMP_BREDR); in smp_register()
3420 if (IS_ERR(chan)) { in smp_register()
3421 int err = PTR_ERR(chan); in smp_register()
3422 chan = hdev->smp_data; in smp_register()
3424 smp_del_chan(chan); in smp_register()
3428 hdev->smp_bredr_data = chan; in smp_register()
3435 struct l2cap_chan *chan; in smp_unregister() local
3438 chan = hdev->smp_bredr_data; in smp_unregister()
3440 smp_del_chan(chan); in smp_unregister()
3444 chan = hdev->smp_data; in smp_unregister()
3446 smp_del_chan(chan); in smp_unregister()