From 463267f9040195c64ce5a3fb861504358d5f692e Mon Sep 17 00:00:00 2001 From: Peter Hurley Date: Fri, 5 Aug 2011 10:53:52 -0400 Subject: [PATCH] --- yaml --- r: 263533 b: refs/heads/master c: 687beaa0d1d937c327e2f97b4b4fa6c23ca70624 h: refs/heads/master i: 263531: 3be6528a0e7f6e6de4b3995cbbc7e6b0e8ff36aa v: v3 --- [refs] | 2 +- trunk/net/bluetooth/cmtp/core.c | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index 21f6562a3e82..6c3216ba2b60 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ff062ea109217329b88693bc9081da893eb8b71b +refs/heads/master: 687beaa0d1d937c327e2f97b4b4fa6c23ca70624 diff --git a/trunk/net/bluetooth/cmtp/core.c b/trunk/net/bluetooth/cmtp/core.c index 42cb2f4c0db1..521baa4fe835 100644 --- a/trunk/net/bluetooth/cmtp/core.c +++ b/trunk/net/bluetooth/cmtp/core.c @@ -382,16 +382,17 @@ int cmtp_add_connection(struct cmtp_connadd_req *req, struct socket *sock) if (!(session->flags & (1 << CMTP_LOOPBACK))) { err = cmtp_attach_device(session); - if (err < 0) - goto detach; + if (err < 0) { + atomic_inc(&session->terminate); + wake_up_process(session->task); + up_write(&cmtp_session_sem); + return err; + } } up_write(&cmtp_session_sem); return 0; -detach: - cmtp_detach_device(session); - unlink: __cmtp_unlink_session(session);