Lines Matching refs:chan

43 	struct l2cap_chan *chan;  member
67 struct l2cap_chan *chan; member
124 &peer->chan->dst, peer->chan->dst_type); in peer_lookup_ba()
126 if (bacmp(&peer->chan->dst, ba)) in peer_lookup_ba()
129 if (type == peer->chan->dst_type) { in peer_lookup_ba()
141 struct l2cap_chan *chan) in __peer_lookup_chan() argument
146 if (peer->chan == chan) in __peer_lookup_chan()
159 if (peer->chan->conn == conn) in __peer_lookup_conn()
210 &peer->chan->dst, peer->chan->dst_type, in peer_lookup_dst()
273 struct l2cap_chan *chan) in iphc_decompress() argument
283 peer = __peer_lookup_chan(dev, chan); in iphc_decompress()
310 struct l2cap_chan *chan) in recv_pkt() argument
358 ret = iphc_decompress(local_skb, dev, chan); in recv_pkt()
393 static int chan_recv_cb(struct l2cap_chan *chan, struct sk_buff *skb) in chan_recv_cb() argument
399 peer = lookup_peer(chan->conn); in chan_recv_cb()
403 dev = lookup_dev(chan->conn); in chan_recv_cb()
407 err = recv_pkt(skb, dev->netdev, chan); in chan_recv_cb()
462 lowpan_cb(skb)->chan = NULL; in setup_header()
491 lowpan_cb(skb)->chan = peer->chan; in setup_header()
523 static int send_pkt(struct l2cap_chan *chan, struct sk_buff *skb, in send_pkt() argument
533 chan->data = skb; in send_pkt()
541 err = l2cap_chan_send(chan, &msg, skb->len); in send_pkt()
585 &pentry->chan->dst, pentry->chan->dst_type, in send_mcast_pkt()
586 &pentry->peer_addr, pentry->chan); in send_mcast_pkt()
587 ret = send_pkt(pentry->chan, local_skb, netdev); in send_mcast_pkt()
625 if (lowpan_cb(skb)->chan) { in bt_xmit()
628 &lowpan_cb(skb)->addr, lowpan_cb(skb)->chan); in bt_xmit()
629 err = send_pkt(lowpan_cb(skb)->chan, skb, netdev); in bt_xmit()
768 struct l2cap_chan *chan; in chan_create() local
770 chan = l2cap_chan_create(); in chan_create()
771 if (!chan) in chan_create()
774 l2cap_chan_set_defaults(chan); in chan_create()
776 chan->chan_type = L2CAP_CHAN_CONN_ORIENTED; in chan_create()
777 chan->mode = L2CAP_MODE_LE_FLOWCTL; in chan_create()
778 chan->omtu = 65535; in chan_create()
779 chan->imtu = chan->omtu; in chan_create()
781 return chan; in chan_create()
786 struct l2cap_chan *chan; in chan_open() local
788 chan = chan_create(); in chan_open()
789 if (!chan) in chan_open()
792 chan->remote_mps = chan->omtu; in chan_open()
793 chan->mps = chan->omtu; in chan_open()
795 chan->state = BT_CONNECTED; in chan_open()
797 return chan; in chan_open()
808 static struct l2cap_chan *add_peer_chan(struct l2cap_chan *chan, in add_peer_chan() argument
817 peer->chan = chan; in add_peer_chan()
823 set_addr((u8 *)&peer->peer_addr.s6_addr + 8, chan->dst.b, in add_peer_chan()
824 chan->dst_type); in add_peer_chan()
832 set_ip_addr_bits(chan->dst_type, (u8 *)&peer->peer_addr.s6_addr + 8); in add_peer_chan()
843 return peer->chan; in add_peer_chan()
846 static int setup_netdev(struct l2cap_chan *chan, struct lowpan_dev **dev) in setup_netdev() argument
856 set_dev_addr(netdev, &chan->src, chan->src_type); in setup_netdev()
859 SET_NETDEV_DEV(netdev, &chan->conn->hcon->dev); in setup_netdev()
870 netdev->ifindex, &chan->dst, chan->dst_type, in setup_netdev()
871 &chan->src, chan->src_type); in setup_netdev()
876 (*dev)->hdev = chan->conn->hcon->hdev; in setup_netdev()
890 static inline void chan_ready_cb(struct l2cap_chan *chan) in chan_ready_cb() argument
894 dev = lookup_dev(chan->conn); in chan_ready_cb()
896 BT_DBG("chan %p conn %p dev %p", chan, chan->conn, dev); in chan_ready_cb()
899 if (setup_netdev(chan, &dev) < 0) { in chan_ready_cb()
900 l2cap_chan_del(chan, -ENOENT); in chan_ready_cb()
908 add_peer_chan(chan, dev); in chan_ready_cb()
914 struct l2cap_chan *chan; in chan_new_conn_cb() local
916 chan = chan_open(pchan); in chan_new_conn_cb()
917 chan->ops = pchan->ops; in chan_new_conn_cb()
919 BT_DBG("chan %p pchan %p", chan, pchan); in chan_new_conn_cb()
921 return chan; in chan_new_conn_cb()
934 static void chan_close_cb(struct l2cap_chan *chan) in chan_close_cb() argument
942 BT_DBG("chan %p conn %p", chan, chan->conn); in chan_close_cb()
944 if (chan->conn && chan->conn->hcon) { in chan_close_cb()
945 if (!is_bt_6lowpan(chan->conn->hcon)) in chan_close_cb()
958 peer = __peer_lookup_chan(dev, chan); in chan_close_cb()
965 BT_DBG("chan %p orig refcnt %d", chan, in chan_close_cb()
966 atomic_read(&chan->kref.refcount)); in chan_close_cb()
968 l2cap_chan_put(chan); in chan_close_cb()
991 static void chan_state_change_cb(struct l2cap_chan *chan, int state, int err) in chan_state_change_cb() argument
993 BT_DBG("chan %p conn %p state %s err %d", chan, chan->conn, in chan_state_change_cb()
997 static struct sk_buff *chan_alloc_skb_cb(struct l2cap_chan *chan, in chan_alloc_skb_cb() argument
1008 static void chan_suspend_cb(struct l2cap_chan *chan) in chan_suspend_cb() argument
1010 struct sk_buff *skb = chan->data; in chan_suspend_cb()
1012 BT_DBG("chan %p conn %p skb %p", chan, chan->conn, skb); in chan_suspend_cb()
1020 static void chan_resume_cb(struct l2cap_chan *chan) in chan_resume_cb() argument
1022 struct sk_buff *skb = chan->data; in chan_resume_cb()
1024 BT_DBG("chan %p conn %p skb %p", chan, chan->conn, skb); in chan_resume_cb()
1032 static long chan_get_sndtimeo_cb(struct l2cap_chan *chan) in chan_get_sndtimeo_cb() argument
1104 BT_DBG("peer %p chan %p", peer, peer->chan); in bt_6lowpan_disconnect()
1106 l2cap_chan_close(peer->chan, ENOENT); in bt_6lowpan_disconnect()
1196 new_peer->chan = peer->chan; in disconnect_all_peers()
1207 l2cap_chan_close(peer->chan, ENOENT); in disconnect_all_peers()
1347 &peer->chan->dst, peer->chan->dst_type); in lowpan_control_show()