Bluetooth: Add server socket support for LE connection
Add support for LE server sockets. Signed-off-by: Ville Tervo <ville.tervo@nokia.com> Acked-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
This commit is contained in:
committed by
Gustavo F. Padovan
parent
acd7d37085
commit
b62f328b8f
@@ -103,7 +103,7 @@ static int l2cap_sock_bind(struct socket *sock, struct sockaddr *addr, int alen)
|
||||
len = min_t(unsigned int, sizeof(la), alen);
|
||||
memcpy(&la, addr, len);
|
||||
|
||||
if (la.l2_cid)
|
||||
if (la.l2_cid && la.l2_psm)
|
||||
return -EINVAL;
|
||||
|
||||
lock_sock(sk);
|
||||
@@ -145,6 +145,9 @@ static int l2cap_sock_bind(struct socket *sock, struct sockaddr *addr, int alen)
|
||||
l2cap_pi(sk)->sec_level = BT_SECURITY_SDP;
|
||||
}
|
||||
|
||||
if (la.l2_cid)
|
||||
l2cap_pi(sk)->scid = la.l2_cid;
|
||||
|
||||
write_unlock_bh(&l2cap_sk_list.lock);
|
||||
|
||||
done:
|
||||
@@ -266,7 +269,7 @@ static int l2cap_sock_listen(struct socket *sock, int backlog)
|
||||
goto done;
|
||||
}
|
||||
|
||||
if (!l2cap_pi(sk)->psm) {
|
||||
if (!l2cap_pi(sk)->psm && !l2cap_pi(sk)->dcid) {
|
||||
bdaddr_t *src = &bt_sk(sk)->src;
|
||||
u16 psm;
|
||||
|
||||
|
Reference in New Issue
Block a user