From 0185a70f95340ab8e906f7bdee520a1dc0fab66d Mon Sep 17 00:00:00 2001 From: Nick Pelly Date: Wed, 3 Feb 2010 16:18:36 -0800 Subject: [PATCH] --- yaml --- r: 180413 b: refs/heads/master c: 6c2718da59613d76013b501bf0f8bcf9d7794b2d h: refs/heads/master i: 180411: 74447f5c69ead3002d2b612ce469b091c1812526 v: v3 --- [refs] | 2 +- trunk/net/bluetooth/rfcomm/core.c | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 4552efa9c6da..1f2d80cb8b7c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 485f1eff73a7b932fd3abb0dfcf804e1a1f59025 +refs/heads/master: 6c2718da59613d76013b501bf0f8bcf9d7794b2d diff --git a/trunk/net/bluetooth/rfcomm/core.c b/trunk/net/bluetooth/rfcomm/core.c index 2b506373957a..89f4a59eb82b 100644 --- a/trunk/net/bluetooth/rfcomm/core.c +++ b/trunk/net/bluetooth/rfcomm/core.c @@ -1150,7 +1150,11 @@ static int rfcomm_recv_ua(struct rfcomm_session *s, u8 dlci) break; case BT_DISCONN: - rfcomm_session_put(s); + /* When socket is closed and we are not RFCOMM + * initiator rfcomm_process_rx already calls + * rfcomm_session_put() */ + if (s->sock->sk->sk_state != BT_CLOSED) + rfcomm_session_put(s); break; } }