Bluetooth: Access CMTP session addresses through L2CAP channel
The L2CAP socket structure does not contain the address information anymore. They need to be accessed through the L2CAP channel. Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
This commit is contained in:
parent
24bc10cad3
commit
88f1fd2708
@ -340,20 +340,20 @@ int cmtp_add_connection(struct cmtp_connadd_req *req, struct socket *sock)
|
|||||||
|
|
||||||
down_write(&cmtp_session_sem);
|
down_write(&cmtp_session_sem);
|
||||||
|
|
||||||
s = __cmtp_get_session(&bt_sk(sock->sk)->dst);
|
s = __cmtp_get_session(&l2cap_pi(sock->sk)->chan->dst);
|
||||||
if (s && s->state == BT_CONNECTED) {
|
if (s && s->state == BT_CONNECTED) {
|
||||||
err = -EEXIST;
|
err = -EEXIST;
|
||||||
goto failed;
|
goto failed;
|
||||||
}
|
}
|
||||||
|
|
||||||
bacpy(&session->bdaddr, &bt_sk(sock->sk)->dst);
|
bacpy(&session->bdaddr, &l2cap_pi(sock->sk)->chan->dst);
|
||||||
|
|
||||||
session->mtu = min_t(uint, l2cap_pi(sock->sk)->chan->omtu,
|
session->mtu = min_t(uint, l2cap_pi(sock->sk)->chan->omtu,
|
||||||
l2cap_pi(sock->sk)->chan->imtu);
|
l2cap_pi(sock->sk)->chan->imtu);
|
||||||
|
|
||||||
BT_DBG("mtu %d", session->mtu);
|
BT_DBG("mtu %d", session->mtu);
|
||||||
|
|
||||||
sprintf(session->name, "%pMR", &bt_sk(sock->sk)->dst);
|
sprintf(session->name, "%pMR", &session->bdaddr);
|
||||||
|
|
||||||
session->sock = sock;
|
session->sock = sock;
|
||||||
session->state = BT_CONFIG;
|
session->state = BT_CONFIG;
|
||||||
|
Loading…
Reference in New Issue
Block a user