Lines Matching refs:psm
168 static struct l2cap_chan *__l2cap_global_chan_by_addr(__le16 psm, bdaddr_t *src, in __l2cap_global_chan_by_addr() argument
180 if (c->sport == psm && !bacmp(&c->src, src)) in __l2cap_global_chan_by_addr()
186 int l2cap_add_psm(struct l2cap_chan *chan, bdaddr_t *src, __le16 psm) in l2cap_add_psm() argument
192 if (psm && __l2cap_global_chan_by_addr(psm, src, chan->src_type)) { in l2cap_add_psm()
197 if (psm) { in l2cap_add_psm()
198 chan->psm = psm; in l2cap_add_psm()
199 chan->sport = psm; in l2cap_add_psm()
218 chan->psm = cpu_to_le16(p); in l2cap_add_psm()
593 __le16_to_cpu(chan->psm), chan->dcid); in __l2cap_chan_add()
877 if (chan->psm == cpu_to_le16(L2CAP_PSM_3DSP)) { in l2cap_get_auth_type()
888 if (chan->psm == cpu_to_le16(L2CAP_PSM_SDP)) { in l2cap_get_auth_type()
1224 req.psm = chan->psm; in l2cap_send_conn_req()
1273 req.psm = chan->psm; in l2cap_le_connect()
1309 if (conn->pid != pid || chan->psm != conn->chan->psm || chan->ident || in l2cap_ecred_defer_connect()
1341 data.pdu.req.psm = chan->psm; in l2cap_ecred_connect()
1367 if (!chan->psm) { in l2cap_le_start()
1831 static struct l2cap_chan *l2cap_global_chan_by_psm(int state, __le16 psm, in l2cap_global_chan_by_psm() argument
1850 if (c->chan_type != L2CAP_CHAN_FIXED && c->psm == psm) { in l2cap_global_chan_by_psm()
2250 __le16_to_cpu(chan->psm), len); in l2cap_create_connless_pdu()
2263 put_unaligned(chan->psm, (__le16 *) skb_put(skb, L2CAP_PSMLEN_SIZE)); in l2cap_create_connless_pdu()
3943 __le16 psm = req->psm; in l2cap_connect() local
3945 BT_DBG("psm 0x%2.2x scid 0x%4.4x", __le16_to_cpu(psm), scid); in l2cap_connect()
3948 pchan = l2cap_global_chan_by_psm(BT_LISTEN, psm, &conn->hcon->src, in l2cap_connect()
3959 if (psm != cpu_to_le16(L2CAP_PSM_SDP) && in l2cap_connect()
3995 chan->psm = psm; in l2cap_connect()
4819 __le16 psm; in l2cap_le_connect_req() local
4828 psm = req->psm; in l2cap_le_connect_req()
4835 BT_DBG("psm 0x%2.2x scid 0x%4.4x mtu %u mps %u", __le16_to_cpu(psm), in l2cap_le_connect_req()
4845 if (!psm || __le16_to_cpu(psm) > L2CAP_PSM_LE_DYN_END) { in l2cap_le_connect_req()
4852 pchan = l2cap_global_chan_by_psm(BT_LISTEN, psm, &conn->hcon->src, in l2cap_le_connect_req()
4894 chan->psm = psm; in l2cap_le_connect_req()
5005 __le16 psm; in l2cap_ecred_conn_req() local
5034 psm = req->psm; in l2cap_ecred_conn_req()
5043 if (!psm || __le16_to_cpu(psm) > L2CAP_PSM_LE_DYN_END) { in l2cap_ecred_conn_req()
5048 BT_DBG("psm 0x%2.2x mtu %u mps %u", __le16_to_cpu(psm), mtu, mps); in l2cap_ecred_conn_req()
5053 pchan = l2cap_global_chan_by_psm(BT_LISTEN, psm, &conn->hcon->src, in l2cap_ecred_conn_req()
5101 chan->psm = psm; in l2cap_ecred_conn_req()
6740 static void l2cap_conless_channel(struct l2cap_conn *conn, __le16 psm, in l2cap_conless_channel() argument
6749 chan = l2cap_global_chan_by_psm(0, psm, &hcon->src, &hcon->dst, in l2cap_conless_channel()
6766 bt_cb(skb)->l2cap.psm = psm; in l2cap_conless_channel()
6786 __le16 psm; in l2cap_recv_frame() local
6821 psm = get_unaligned((__le16 *) skb->data); in l2cap_recv_frame()
6823 l2cap_conless_channel(conn, psm, skb); in l2cap_recv_frame()
6900 static bool is_valid_psm(u16 psm, u8 dst_type) in is_valid_psm() argument
6902 if (!psm) in is_valid_psm()
6906 return (psm <= 0x00ff); in is_valid_psm()
6909 return ((psm & 0x0101) == 0x0001); in is_valid_psm()
6932 if (d->pid != pid || chan->psm != d->chan->psm || chan->ident || in l2cap_chan_by_pid()
6939 int l2cap_chan_connect(struct l2cap_chan *chan, __le16 psm, u16 cid, in l2cap_chan_connect() argument
6948 dst, dst_type, __le16_to_cpu(psm), chan->mode); in l2cap_chan_connect()
6956 if (!is_valid_psm(__le16_to_cpu(psm), dst_type) && !cid && in l2cap_chan_connect()
6962 if (chan->chan_type == L2CAP_CHAN_CONN_ORIENTED && !psm) { in l2cap_chan_connect()
7020 chan->psm = psm; in l2cap_chan_connect()
7589 c->state, __le16_to_cpu(c->psm), in l2cap_debugfs_show()