Perform a proper abort upon stream connect failure
diff --git a/audio/avdtp.c b/audio/avdtp.c
index 87e19cc..93b40d9 100644
--- a/audio/avdtp.c
+++ b/audio/avdtp.c
@@ -1618,9 +1618,13 @@
 
 failed:
 	if (session->pending_open) {
-		avdtp_sep_set_state(session, session->pending_open->lsep,
-					AVDTP_STATE_IDLE);
-		session->pending_open = NULL;
+		struct avdtp_stream *stream = session->pending_open;
+
+		handle_transport_connect(session, -1, 0, 0);
+
+		if (avdtp_abort(session, stream) < 0)
+			avdtp_sep_set_state(session, stream->lsep,
+						AVDTP_STATE_IDLE);
 	} else
 		connection_lost(session, -err);
 
@@ -2678,7 +2682,7 @@
 		avdtp_sep_set_state(session, stream->lsep,
 					AVDTP_STATE_ABORTING);
 
-	return 0;
+	return ret;
 }
 
 struct avdtp_local_sep *avdtp_register_sep(const bdaddr_t *src, uint8_t type,