diff options
Diffstat (limited to 'net/bluetooth/rfcomm/core.c')
| -rw-r--r-- | net/bluetooth/rfcomm/core.c | 3 | 
1 files changed, 2 insertions, 1 deletions
diff --git a/net/bluetooth/rfcomm/core.c b/net/bluetooth/rfcomm/core.c index ff8aaa73665..6b83776534f 100644 --- a/net/bluetooth/rfcomm/core.c +++ b/net/bluetooth/rfcomm/core.c @@ -1164,7 +1164,8 @@ static int rfcomm_recv_ua(struct rfcomm_session *s, u8 dlci)  			 * initiator rfcomm_process_rx already calls  			 * rfcomm_session_put() */  			if (s->sock->sk->sk_state != BT_CLOSED) -				rfcomm_session_put(s); +				if (list_empty(&s->dlcs)) +					rfcomm_session_put(s);  			break;  		}  	}  |