diff options
Diffstat (limited to 'net/bluetooth')
| -rw-r--r-- | net/bluetooth/l2cap_core.c | 6 | ||||
| -rw-r--r-- | net/bluetooth/l2cap_sock.c | 4 | 
2 files changed, 5 insertions, 5 deletions
diff --git a/net/bluetooth/l2cap_core.c b/net/bluetooth/l2cap_core.c index 8a3de114935..a57d96afa24 100644 --- a/net/bluetooth/l2cap_core.c +++ b/net/bluetooth/l2cap_core.c @@ -262,7 +262,7 @@ static void l2cap_chan_timeout(struct work_struct *work)  	l2cap_chan_put(chan);  } -struct l2cap_chan *l2cap_chan_create(struct sock *sk) +struct l2cap_chan *l2cap_chan_create(void)  {  	struct l2cap_chan *chan; @@ -272,8 +272,6 @@ struct l2cap_chan *l2cap_chan_create(struct sock *sk)  	mutex_init(&chan->lock); -	chan->sk = sk; -  	write_lock(&chan_list_lock);  	list_add(&chan->global_l, &chan_list);  	write_unlock(&chan_list_lock); @@ -284,7 +282,7 @@ struct l2cap_chan *l2cap_chan_create(struct sock *sk)  	atomic_set(&chan->refcnt, 1); -	BT_DBG("sk %p chan %p", sk, chan); +	BT_DBG("chan %p", chan);  	return chan;  } diff --git a/net/bluetooth/l2cap_sock.c b/net/bluetooth/l2cap_sock.c index 29122ed28ea..53e563f0172 100644 --- a/net/bluetooth/l2cap_sock.c +++ b/net/bluetooth/l2cap_sock.c @@ -1048,12 +1048,14 @@ static struct sock *l2cap_sock_alloc(struct net *net, struct socket *sock, int p  	sk->sk_protocol = proto;  	sk->sk_state = BT_OPEN; -	chan = l2cap_chan_create(sk); +	chan = l2cap_chan_create();  	if (!chan) {  		l2cap_sock_kill(sk);  		return NULL;  	} +	chan->sk = sk; +  	l2cap_pi(sk)->chan = chan;  	return sk;  |