diff options
Diffstat (limited to 'net/bluetooth/l2cap_core.c')
| -rw-r--r-- | net/bluetooth/l2cap_core.c | 5 | 
1 files changed, 5 insertions, 0 deletions
diff --git a/net/bluetooth/l2cap_core.c b/net/bluetooth/l2cap_core.c index c5e8798e297c..17ca13e8c044 100644 --- a/net/bluetooth/l2cap_core.c +++ b/net/bluetooth/l2cap_core.c @@ -6374,9 +6374,14 @@ static inline int l2cap_le_command_rej(struct l2cap_conn *conn,  	if (!chan)  		goto done; +	chan = l2cap_chan_hold_unless_zero(chan); +	if (!chan) +		goto done; +  	l2cap_chan_lock(chan);  	l2cap_chan_del(chan, ECONNREFUSED);  	l2cap_chan_unlock(chan); +	l2cap_chan_put(chan);  done:  	mutex_unlock(&conn->chan_lock);  | 
