Lines Matching refs:chan
51 struct l2cap_chan *chan = mgr->a2mp_chan; in a2mp_send() local
68 l2cap_chan_send(chan, &msg, total_len); in a2mp_send()
248 struct l2cap_chan *chan; in a2mp_discover_rsp() local
252 list_for_each_entry(chan, &conn->chan_l, list) { in a2mp_discover_rsp()
254 BT_DBG("chan %p state %s", chan, in a2mp_discover_rsp()
255 state_to_string(chan->state)); in a2mp_discover_rsp()
257 if (chan->scid == L2CAP_CID_A2MP) in a2mp_discover_rsp()
260 l2cap_chan_lock(chan); in a2mp_discover_rsp()
262 if (chan->state == BT_CONNECT) in a2mp_discover_rsp()
263 l2cap_send_conn_req(chan); in a2mp_discover_rsp()
265 l2cap_chan_unlock(chan); in a2mp_discover_rsp()
603 static int a2mp_chan_recv_cb(struct l2cap_chan *chan, struct sk_buff *skb) in a2mp_chan_recv_cb() argument
606 struct amp_mgr *mgr = chan->data; in a2mp_chan_recv_cb()
703 static void a2mp_chan_close_cb(struct l2cap_chan *chan) in a2mp_chan_close_cb() argument
705 l2cap_chan_put(chan); in a2mp_chan_close_cb()
708 static void a2mp_chan_state_change_cb(struct l2cap_chan *chan, int state, in a2mp_chan_state_change_cb() argument
711 struct amp_mgr *mgr = chan->data; in a2mp_chan_state_change_cb()
716 BT_DBG("chan %p state %s", chan, state_to_string(state)); in a2mp_chan_state_change_cb()
718 chan->state = state; in a2mp_chan_state_change_cb()
728 static struct sk_buff *a2mp_chan_alloc_skb_cb(struct l2cap_chan *chan, in a2mp_chan_alloc_skb_cb() argument
760 struct l2cap_chan *chan; in a2mp_chan_open() local
763 chan = l2cap_chan_create(); in a2mp_chan_open()
764 if (!chan) in a2mp_chan_open()
767 BT_DBG("chan %p", chan); in a2mp_chan_open()
769 chan->chan_type = L2CAP_CHAN_FIXED; in a2mp_chan_open()
770 chan->scid = L2CAP_CID_A2MP; in a2mp_chan_open()
771 chan->dcid = L2CAP_CID_A2MP; in a2mp_chan_open()
772 chan->omtu = L2CAP_A2MP_DEFAULT_MTU; in a2mp_chan_open()
773 chan->imtu = L2CAP_A2MP_DEFAULT_MTU; in a2mp_chan_open()
774 chan->flush_to = L2CAP_DEFAULT_FLUSH_TO; in a2mp_chan_open()
776 chan->ops = &a2mp_chan_ops; in a2mp_chan_open()
778 l2cap_chan_set_defaults(chan); in a2mp_chan_open()
779 chan->remote_max_tx = chan->max_tx; in a2mp_chan_open()
780 chan->remote_tx_win = chan->tx_win; in a2mp_chan_open()
782 chan->retrans_timeout = L2CAP_DEFAULT_RETRANS_TO; in a2mp_chan_open()
783 chan->monitor_timeout = L2CAP_DEFAULT_MONITOR_TO; in a2mp_chan_open()
785 skb_queue_head_init(&chan->tx_q); in a2mp_chan_open()
787 chan->mode = L2CAP_MODE_ERTM; in a2mp_chan_open()
789 err = l2cap_ertm_init(chan); in a2mp_chan_open()
791 l2cap_chan_del(chan, 0); in a2mp_chan_open()
795 chan->conf_state = 0; in a2mp_chan_open()
798 __l2cap_chan_add(conn, chan); in a2mp_chan_open()
800 l2cap_chan_add(conn, chan); in a2mp_chan_open()
802 chan->remote_mps = chan->omtu; in a2mp_chan_open()
803 chan->mps = chan->omtu; in a2mp_chan_open()
805 chan->state = BT_CONNECTED; in a2mp_chan_open()
807 return chan; in a2mp_chan_open()
844 struct l2cap_chan *chan; in amp_mgr_create() local
854 chan = a2mp_chan_open(conn, locked); in amp_mgr_create()
855 if (!chan) { in amp_mgr_create()
860 mgr->a2mp_chan = chan; in amp_mgr_create()
861 chan->data = mgr; in amp_mgr_create()
1021 void a2mp_discover_amp(struct l2cap_chan *chan) in a2mp_discover_amp() argument
1023 struct l2cap_conn *conn = chan->conn; in a2mp_discover_amp()
1027 BT_DBG("chan %p conn %p mgr %p", chan, conn, mgr); in a2mp_discover_amp()
1035 mgr->bredr_chan = chan; in a2mp_discover_amp()