Lines Matching refs:la
85 struct sockaddr_l2 la; in l2cap_sock_bind() local
94 memset(&la, 0, sizeof(la)); in l2cap_sock_bind()
95 len = min_t(unsigned int, sizeof(la), alen); in l2cap_sock_bind()
96 memcpy(&la, addr, len); in l2cap_sock_bind()
98 if (la.l2_cid && la.l2_psm) in l2cap_sock_bind()
101 if (!bdaddr_type_is_valid(la.l2_bdaddr_type)) in l2cap_sock_bind()
104 if (bdaddr_type_is_le(la.l2_bdaddr_type)) { in l2cap_sock_bind()
106 if (la.l2_cid && in l2cap_sock_bind()
107 la.l2_cid != cpu_to_le16(L2CAP_CID_ATT)) in l2cap_sock_bind()
118 if (la.l2_psm) { in l2cap_sock_bind()
119 __u16 psm = __le16_to_cpu(la.l2_psm); in l2cap_sock_bind()
121 if (la.l2_bdaddr_type == BDADDR_BREDR) in l2cap_sock_bind()
130 bacpy(&chan->src, &la.l2_bdaddr); in l2cap_sock_bind()
131 chan->src_type = la.l2_bdaddr_type; in l2cap_sock_bind()
133 if (la.l2_cid) in l2cap_sock_bind()
134 err = l2cap_add_scid(chan, __le16_to_cpu(la.l2_cid)); in l2cap_sock_bind()
136 err = l2cap_add_psm(chan, &la.l2_bdaddr, la.l2_psm); in l2cap_sock_bind()
143 if (__le16_to_cpu(la.l2_psm) == L2CAP_PSM_3DSP) in l2cap_sock_bind()
147 if (__le16_to_cpu(la.l2_psm) == L2CAP_PSM_SDP || in l2cap_sock_bind()
148 __le16_to_cpu(la.l2_psm) == L2CAP_PSM_RFCOMM) in l2cap_sock_bind()
180 struct sockaddr_l2 la; in l2cap_sock_connect() local
189 memset(&la, 0, sizeof(la)); in l2cap_sock_connect()
190 len = min_t(unsigned int, sizeof(la), alen); in l2cap_sock_connect()
191 memcpy(&la, addr, len); in l2cap_sock_connect()
193 if (la.l2_cid && la.l2_psm) in l2cap_sock_connect()
196 if (!bdaddr_type_is_valid(la.l2_bdaddr_type)) in l2cap_sock_connect()
205 bdaddr_type_is_le(la.l2_bdaddr_type)) { in l2cap_sock_connect()
213 la.l2_cid != cpu_to_le16(L2CAP_CID_ATT)) in l2cap_sock_connect()
225 if (chan->src_type != BDADDR_BREDR && la.l2_bdaddr_type == BDADDR_BREDR) in l2cap_sock_connect()
228 if (bdaddr_type_is_le(la.l2_bdaddr_type)) { in l2cap_sock_connect()
230 if (la.l2_cid && in l2cap_sock_connect()
231 la.l2_cid != cpu_to_le16(L2CAP_CID_ATT)) in l2cap_sock_connect()
238 err = l2cap_chan_connect(chan, la.l2_psm, __le16_to_cpu(la.l2_cid), in l2cap_sock_connect()
239 &la.l2_bdaddr, la.l2_bdaddr_type); in l2cap_sock_connect()
363 struct sockaddr_l2 *la = (struct sockaddr_l2 *) addr; in l2cap_sock_getname() local
374 memset(la, 0, sizeof(struct sockaddr_l2)); in l2cap_sock_getname()
377 la->l2_psm = chan->psm; in l2cap_sock_getname()
380 bacpy(&la->l2_bdaddr, &chan->dst); in l2cap_sock_getname()
381 la->l2_cid = cpu_to_le16(chan->dcid); in l2cap_sock_getname()
382 la->l2_bdaddr_type = chan->dst_type; in l2cap_sock_getname()
384 bacpy(&la->l2_bdaddr, &chan->src); in l2cap_sock_getname()
385 la->l2_cid = cpu_to_le16(chan->scid); in l2cap_sock_getname()
386 la->l2_bdaddr_type = chan->src_type; in l2cap_sock_getname()
1505 DECLARE_SOCKADDR(struct sockaddr_l2 *, la, msg_name); in l2cap_skb_msg_name()
1507 memset(la, 0, sizeof(struct sockaddr_l2)); in l2cap_skb_msg_name()
1508 la->l2_family = AF_BLUETOOTH; in l2cap_skb_msg_name()
1509 la->l2_psm = bt_cb(skb)->l2cap.psm; in l2cap_skb_msg_name()
1510 bacpy(&la->l2_bdaddr, &bt_cb(skb)->l2cap.bdaddr); in l2cap_skb_msg_name()