[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-bluetooth
Subject:    [PATCH v3 4/4] Simplify return value in disconnect_req
From:       Waldemar Rymarkiewicz <waldemar.rymarkiewicz () tieto ! com>
Date:       2011-05-31 10:46:50
Message-ID: 1306838810-18325-4-git-send-email-waldemar.rymarkiewicz () tieto ! com
[Download RAW message or body]

---
 sap/server.c |   21 +++++++--------------
 1 files changed, 7 insertions(+), 14 deletions(-)

diff --git a/sap/server.c b/sap/server.c
index c268cec..ec17759 100644
--- a/sap/server.c
+++ b/sap/server.c
@@ -349,11 +349,9 @@ static int disconnect_req(struct sap_connection *conn, uint8_t disc_type)
 
 	switch (disc_type) {
 	case SAP_DISCONNECTION_TYPE_GRACEFUL:
-		if (conn->state == SAP_STATE_DISCONNECTED)
-			goto error_req;
-
-		if (conn->state == SAP_STATE_CONNECT_IN_PROGRESS)
-			goto error_req;
+		if (conn->state == SAP_STATE_DISCONNECTED ||
+				conn->state == SAP_STATE_CONNECT_IN_PROGRESS)
+			return -EPERM;
 
 		if (conn->state == SAP_STATE_CONNECTED) {
 			conn->state = SAP_STATE_GRACEFUL_DISCONNECT;
@@ -367,11 +365,9 @@ static int disconnect_req(struct sap_connection *conn, uint8_t disc_type)
 		return 0;
 
 	case SAP_DISCONNECTION_TYPE_IMMEDIATE:
-		if (conn->state == SAP_STATE_DISCONNECTED)
-			goto error_req;
-
-		if (conn->state == SAP_STATE_CONNECT_IN_PROGRESS)
-			goto error_req;
+		if (conn->state == SAP_STATE_DISCONNECTED ||
+				conn->state == SAP_STATE_CONNECT_IN_PROGRESS)
+			return -EPERM;
 
 		if (conn->state == SAP_STATE_CONNECTED ||
 				conn->state == SAP_STATE_GRACEFUL_DISCONNECT) {
@@ -389,7 +385,7 @@ static int disconnect_req(struct sap_connection *conn, uint8_t disc_type)
 		if (conn->state != SAP_STATE_CONNECTED &&
 				conn->state != SAP_STATE_GRACEFUL_DISCONNECT) {
 			sap_error_rsp(conn);
-			goto error_req;
+			return -EPERM;
 		}
 
 		conn->state = SAP_STATE_CLIENT_DISCONNECT;
@@ -404,9 +400,6 @@ static int disconnect_req(struct sap_connection *conn, uint8_t disc_type)
 		error("Unknown disconnection type (0x%02x).", disc_type);
 		return -EINVAL;
 	}
-
-error_req:
-	return -EPERM;
 }
 
 static void transfer_apdu_req(struct sap_connection *conn,
-- 
1.7.4.1

--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic