Commit 687beaa0 authored by Peter Hurley's avatar Peter Hurley Committed by Gustavo F. Padovan

Bluetooth: cmtp: Fix session cleanup on failed conn add

Once the session thread is running, cleanup must be handled
by the session thread only.
Signed-off-by: default avatarPeter Hurley <peter@hurleysoftware.com>
Signed-off-by: default avatarGustavo F. Padovan <padovan@profusion.mobi>
parent ff062ea1
...@@ -382,16 +382,17 @@ int cmtp_add_connection(struct cmtp_connadd_req *req, struct socket *sock) ...@@ -382,16 +382,17 @@ int cmtp_add_connection(struct cmtp_connadd_req *req, struct socket *sock)
if (!(session->flags & (1 << CMTP_LOOPBACK))) { if (!(session->flags & (1 << CMTP_LOOPBACK))) {
err = cmtp_attach_device(session); err = cmtp_attach_device(session);
if (err < 0) if (err < 0) {
goto detach; atomic_inc(&session->terminate);
wake_up_process(session->task);
up_write(&cmtp_session_sem);
return err;
}
} }
up_write(&cmtp_session_sem); up_write(&cmtp_session_sem);
return 0; return 0;
detach:
cmtp_detach_device(session);
unlink: unlink:
__cmtp_unlink_session(session); __cmtp_unlink_session(session);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment