diff options
Diffstat (limited to 'net/bluetooth/rfcomm/core.c')
| -rw-r--r-- | net/bluetooth/rfcomm/core.c | 21 | 
1 files changed, 12 insertions, 9 deletions
diff --git a/net/bluetooth/rfcomm/core.c b/net/bluetooth/rfcomm/core.c index c9973932456..121a5c13b98 100644 --- a/net/bluetooth/rfcomm/core.c +++ b/net/bluetooth/rfcomm/core.c @@ -232,6 +232,8 @@ static int rfcomm_l2sock_create(struct socket **sock)  static inline int rfcomm_check_security(struct rfcomm_dlc *d)  {  	struct sock *sk = d->session->sock->sk; +	struct l2cap_conn *conn = l2cap_pi(sk)->chan->conn; +  	__u8 auth_type;  	switch (d->sec_level) { @@ -246,8 +248,7 @@ static inline int rfcomm_check_security(struct rfcomm_dlc *d)  		break;  	} -	return hci_conn_security(l2cap_pi(sk)->conn->hcon, d->sec_level, -								auth_type); +	return hci_conn_security(conn->hcon, d->sec_level, auth_type);  }  static void rfcomm_session_timeout(unsigned long arg) @@ -710,10 +711,10 @@ static struct rfcomm_session *rfcomm_session_create(bdaddr_t *src,  	/* Set L2CAP options */  	sk = sock->sk;  	lock_sock(sk); -	l2cap_pi(sk)->imtu = l2cap_mtu; -	l2cap_pi(sk)->sec_level = sec_level; +	l2cap_pi(sk)->chan->imtu = l2cap_mtu; +	l2cap_pi(sk)->chan->sec_level = sec_level;  	if (l2cap_ertm) -		l2cap_pi(sk)->mode = L2CAP_MODE_ERTM; +		l2cap_pi(sk)->chan->mode = L2CAP_MODE_ERTM;  	release_sock(sk);  	s = rfcomm_session_add(sock, BT_BOUND); @@ -1241,6 +1242,7 @@ static int rfcomm_recv_disc(struct rfcomm_session *s, u8 dlci)  void rfcomm_dlc_accept(struct rfcomm_dlc *d)  {  	struct sock *sk = d->session->sock->sk; +	struct l2cap_conn *conn = l2cap_pi(sk)->chan->conn;  	BT_DBG("dlc %p", d); @@ -1254,7 +1256,7 @@ void rfcomm_dlc_accept(struct rfcomm_dlc *d)  	rfcomm_dlc_unlock(d);  	if (d->role_switch) -		hci_conn_switch_role(l2cap_pi(sk)->conn->hcon, 0x00); +		hci_conn_switch_role(conn->hcon, 0x00);  	rfcomm_send_msc(d->session, 1, d->dlci, d->v24_sig);  } @@ -1890,7 +1892,8 @@ static inline void rfcomm_accept_connection(struct rfcomm_session *s)  		/* We should adjust MTU on incoming sessions.  		 * L2CAP MTU minus UIH header and FCS. */ -		s->mtu = min(l2cap_pi(nsock->sk)->omtu, l2cap_pi(nsock->sk)->imtu) - 5; +		s->mtu = min(l2cap_pi(nsock->sk)->chan->omtu, +				l2cap_pi(nsock->sk)->chan->imtu) - 5;  		rfcomm_schedule();  	} else @@ -1909,7 +1912,7 @@ static inline void rfcomm_check_connection(struct rfcomm_session *s)  		/* We can adjust MTU on outgoing sessions.  		 * L2CAP MTU minus UIH header and FCS. */ -		s->mtu = min(l2cap_pi(sk)->omtu, l2cap_pi(sk)->imtu) - 5; +		s->mtu = min(l2cap_pi(sk)->chan->omtu, l2cap_pi(sk)->chan->imtu) - 5;  		rfcomm_send_sabm(s, 0);  		break; @@ -1992,7 +1995,7 @@ static int rfcomm_add_listener(bdaddr_t *ba)  	/* Set L2CAP options */  	sk = sock->sk;  	lock_sock(sk); -	l2cap_pi(sk)->imtu = l2cap_mtu; +	l2cap_pi(sk)->chan->imtu = l2cap_mtu;  	release_sock(sk);  	/* Start listening on the socket */  |