Lines Matching refs:psm
164 static struct l2cap_chan *__l2cap_global_chan_by_addr(__le16 psm, bdaddr_t *src, in __l2cap_global_chan_by_addr() argument
176 if (c->sport == psm && !bacmp(&c->src, src)) in __l2cap_global_chan_by_addr()
182 int l2cap_add_psm(struct l2cap_chan *chan, bdaddr_t *src, __le16 psm) in l2cap_add_psm() argument
188 if (psm && __l2cap_global_chan_by_addr(psm, src, chan->src_type)) { in l2cap_add_psm()
193 if (psm) { in l2cap_add_psm()
194 chan->psm = psm; in l2cap_add_psm()
195 chan->sport = psm; in l2cap_add_psm()
214 chan->psm = cpu_to_le16(p); in l2cap_add_psm()
590 __le16_to_cpu(chan->psm), chan->dcid); in __l2cap_chan_add()
875 if (chan->psm == cpu_to_le16(L2CAP_PSM_3DSP)) { in l2cap_get_auth_type()
886 if (chan->psm == cpu_to_le16(L2CAP_PSM_SDP)) { in l2cap_get_auth_type()
1247 req.psm = chan->psm; in l2cap_send_conn_req()
1296 req.psm = chan->psm; in l2cap_le_connect()
1332 if (conn->pid != pid || chan->psm != conn->chan->psm || chan->ident || in l2cap_ecred_defer_connect()
1364 data.pdu.req.psm = chan->psm; in l2cap_ecred_connect()
1390 if (!chan->psm) { in l2cap_le_start()
1844 static struct l2cap_chan *l2cap_global_chan_by_psm(int state, __le16 psm, in l2cap_global_chan_by_psm() argument
1863 if (c->chan_type != L2CAP_CHAN_FIXED && c->psm == psm) { in l2cap_global_chan_by_psm()
2263 __le16_to_cpu(chan->psm), len); in l2cap_create_connless_pdu()
2276 put_unaligned(chan->psm, (__le16 *) skb_put(skb, L2CAP_PSMLEN_SIZE)); in l2cap_create_connless_pdu()
4017 __le16 psm = req->psm; in l2cap_connect() local
4019 BT_DBG("psm 0x%2.2x scid 0x%4.4x", __le16_to_cpu(psm), scid); in l2cap_connect()
4022 pchan = l2cap_global_chan_by_psm(BT_LISTEN, psm, &conn->hcon->src, in l2cap_connect()
4032 if (psm != cpu_to_le16(L2CAP_PSM_SDP) && in l2cap_connect()
4069 chan->psm = psm; in l2cap_connect()
4892 __le16 psm; in l2cap_le_connect_req() local
4901 psm = req->psm; in l2cap_le_connect_req()
4908 BT_DBG("psm 0x%2.2x scid 0x%4.4x mtu %u mps %u", __le16_to_cpu(psm), in l2cap_le_connect_req()
4918 if (!psm || __le16_to_cpu(psm) > L2CAP_PSM_LE_DYN_END) { in l2cap_le_connect_req()
4925 pchan = l2cap_global_chan_by_psm(BT_LISTEN, psm, &conn->hcon->src, in l2cap_le_connect_req()
4974 chan->psm = psm; in l2cap_le_connect_req()
5084 __le16 psm; in l2cap_ecred_conn_req() local
5126 psm = req->psm; in l2cap_ecred_conn_req()
5135 if (!psm || __le16_to_cpu(psm) > L2CAP_PSM_LE_DYN_END) { in l2cap_ecred_conn_req()
5140 BT_DBG("psm 0x%2.2x mtu %u mps %u", __le16_to_cpu(psm), mtu, mps); in l2cap_ecred_conn_req()
5143 pchan = l2cap_global_chan_by_psm(BT_LISTEN, psm, &conn->hcon->src, in l2cap_ecred_conn_req()
5198 chan->psm = psm; in l2cap_ecred_conn_req()
6872 static void l2cap_conless_channel(struct l2cap_conn *conn, __le16 psm, in l2cap_conless_channel() argument
6881 chan = l2cap_global_chan_by_psm(0, psm, &hcon->src, &hcon->dst, in l2cap_conless_channel()
6898 bt_cb(skb)->l2cap.psm = psm; in l2cap_conless_channel()
6918 __le16 psm; in l2cap_recv_frame() local
6953 psm = get_unaligned((__le16 *) skb->data); in l2cap_recv_frame()
6955 l2cap_conless_channel(conn, psm, skb); in l2cap_recv_frame()
7036 static bool is_valid_psm(u16 psm, u8 dst_type) in is_valid_psm() argument
7038 if (!psm) in is_valid_psm()
7042 return (psm <= 0x00ff); in is_valid_psm()
7045 return ((psm & 0x0101) == 0x0001); in is_valid_psm()
7068 if (d->pid != pid || chan->psm != d->chan->psm || chan->ident || in l2cap_chan_by_pid()
7075 int l2cap_chan_connect(struct l2cap_chan *chan, __le16 psm, u16 cid, in l2cap_chan_connect() argument
7084 dst, dst_type, __le16_to_cpu(psm), chan->mode); in l2cap_chan_connect()
7092 if (!is_valid_psm(__le16_to_cpu(psm), dst_type) && !cid && in l2cap_chan_connect()
7098 if (chan->chan_type == L2CAP_CHAN_CONN_ORIENTED && !psm) { in l2cap_chan_connect()
7156 chan->psm = psm; in l2cap_chan_connect()
7786 c->state, __le16_to_cpu(c->psm), in l2cap_debugfs_show()