Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 687beaa0 authored by Peter Hurley's avatar Peter Hurley Committed by Gustavo Padovan
Browse files

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
Loading
Loading
Loading
Loading
+6 −5
Original line number Diff line number Diff line
@@ -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);