platform: Change GetStateEffecterStates API error personality

APIs should return negative errno instead of PLDM completion codes.

Change-Id: Ic7017ecc02f3d969aa8fd5c6b1fa89dced484ab1
Signed-off-by: Tal Yacobi <talycb8@gmail.com>
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
diff --git a/src/dsp/platform.c b/src/dsp/platform.c
index 79f7c1e..db9cad9 100644
--- a/src/dsp/platform.c
+++ b/src/dsp/platform.c
@@ -1,4 +1,5 @@
 /* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later */
+#include "dsp/base.h"
 #include "msgbuf.h"
 #include "msgbuf/platform.h"
 
@@ -2534,7 +2535,7 @@
 	int rc;
 
 	if (msg == NULL) {
-		return PLDM_ERROR_INVALID_DATA;
+		return -EINVAL;
 	}
 
 	struct pldm_header_info header = { 0 };
@@ -2543,13 +2544,14 @@
 	header.pldm_type = PLDM_PLATFORM;
 	header.command = PLDM_GET_STATE_EFFECTER_STATES;
 
-	rc = pack_pldm_header(&header, &msg->hdr);
-	if (rc != PLDM_SUCCESS) {
+	rc = pack_pldm_header_errno(&header, &msg->hdr);
+	if (rc < 0) {
 		return rc;
 	}
 
-	rc = pldm_msgbuf_init_cc(buf, PLDM_GET_STATE_EFFECTER_STATES_REQ_BYTES,
-				 msg->payload, payload_length);
+	rc = pldm_msgbuf_init_errno(buf,
+				    PLDM_GET_STATE_EFFECTER_STATES_REQ_BYTES,
+				    msg->payload, payload_length);
 	if (rc) {
 		return rc;
 	}
@@ -2569,12 +2571,12 @@
 	int rc;
 
 	if (msg == NULL || effecter_id == NULL) {
-		return PLDM_ERROR_INVALID_DATA;
+		return -EINVAL;
 	}
 
-	rc = pldm_msgbuf_init_cc(buf,
-				 PLDM_GET_STATE_EFFECTER_STATES_MIN_RESP_BYTES,
-				 msg->payload, payload_length);
+	rc = pldm_msgbuf_init_errno(
+		buf, PLDM_GET_STATE_EFFECTER_STATES_MIN_RESP_BYTES,
+		msg->payload, payload_length);
 	if (rc) {
 		return rc;
 	}
@@ -2596,12 +2598,12 @@
 	int i;
 
 	if (msg == NULL || resp == NULL) {
-		return PLDM_ERROR_INVALID_DATA;
+		return -EINVAL;
 	}
 
-	rc = pldm_msgbuf_init_cc(buf,
-				 PLDM_GET_STATE_EFFECTER_STATES_MIN_RESP_BYTES,
-				 msg->payload, payload_length);
+	rc = pldm_msgbuf_init_errno(
+		buf, PLDM_GET_STATE_EFFECTER_STATES_MIN_RESP_BYTES,
+		msg->payload, payload_length);
 	if (rc) {
 		return rc;
 	}
@@ -2612,7 +2614,7 @@
 	}
 
 	if (PLDM_SUCCESS != resp->completion_code) {
-		return PLDM_SUCCESS;
+		return 0;
 	}
 
 	rc = pldm_msgbuf_extract(buf, resp->comp_effecter_count);
@@ -2624,7 +2626,7 @@
 
 	if (comp_effecter_count < PLDM_GET_EFFECTER_STATE_FIELD_COUNT_MIN ||
 	    comp_effecter_count > PLDM_GET_EFFECTER_STATE_FIELD_COUNT_MAX) {
-		return PLDM_ERROR_INVALID_DATA;
+		return -EBADMSG;
 	}
 
 	for (i = 0, field = resp->field; i < comp_effecter_count;
@@ -2649,14 +2651,14 @@
 	int i;
 
 	if (msg == NULL || resp == NULL) {
-		return PLDM_ERROR_INVALID_DATA;
+		return -EINVAL;
 	}
 
 	uint8_t comp_effecter_count = resp->comp_effecter_count;
 
 	if (comp_effecter_count < PLDM_GET_EFFECTER_STATE_FIELD_COUNT_MIN ||
 	    comp_effecter_count > PLDM_GET_EFFECTER_STATE_FIELD_COUNT_MAX) {
-		return PLDM_ERROR_INVALID_DATA;
+		return -EBADMSG;
 	}
 
 	struct pldm_header_info header = { 0 };
@@ -2665,14 +2667,14 @@
 	header.pldm_type = PLDM_PLATFORM;
 	header.command = PLDM_GET_STATE_EFFECTER_STATES;
 
-	rc = pack_pldm_header(&header, &msg->hdr);
-	if (rc != PLDM_SUCCESS) {
+	rc = pack_pldm_header_errno(&header, &msg->hdr);
+	if (rc < 0) {
 		return rc;
 	}
 
-	rc = pldm_msgbuf_init_cc(buf,
-				 PLDM_GET_STATE_EFFECTER_STATES_MIN_RESP_BYTES,
-				 msg->payload, payload_length);
+	rc = pldm_msgbuf_init_errno(
+		buf, PLDM_GET_STATE_EFFECTER_STATES_MIN_RESP_BYTES,
+		msg->payload, payload_length);
 	if (rc) {
 		return rc;
 	}
diff --git a/tests/dsp/platform.cpp b/tests/dsp/platform.cpp
index 682a922..6e58d4d 100644
--- a/tests/dsp/platform.cpp
+++ b/tests/dsp/platform.cpp
@@ -5,6 +5,7 @@
 #include <libpldm/pldm_types.h>
 
 #include <array>
+#include <cerrno>
 #include <cstdint>
 #include <cstring>
 #include <vector>
@@ -4904,7 +4905,7 @@
     rc = decode_get_state_effecter_states_req(
         request, requestMsg.size() - hdrSize - 1, &ret_effecter_id);
 
-    EXPECT_EQ(rc, PLDM_ERROR_INVALID_LENGTH);
+    EXPECT_EQ(rc, -EOVERFLOW);
 }
 #endif
 
@@ -4916,7 +4917,7 @@
 
     auto rc = encode_get_state_effecter_states_req(
         0, 0, nullptr, PLDM_GET_STATE_EFFECTER_STATES_REQ_BYTES);
-    EXPECT_EQ(rc, PLDM_ERROR_INVALID_DATA);
+    EXPECT_EQ(rc, -EINVAL);
 }
 #endif
 
@@ -4929,7 +4930,7 @@
     auto rc = decode_get_state_effecter_states_req(
         nullptr, requestMsg.size() - hdrSize, nullptr);
 
-    EXPECT_EQ(rc, PLDM_ERROR_INVALID_DATA);
+    EXPECT_EQ(rc, -EINVAL);
 }
 #endif
 
@@ -4996,7 +4997,7 @@
         responseMsg.size() - hdrSize + PLDM_GET_EFFECTER_STATE_FIELD_SIZE,
         &ret_resp_fields);
 
-    EXPECT_EQ(rc, PLDM_ERROR_INVALID_LENGTH);
+    EXPECT_EQ(rc, -EBADMSG);
 }
 #endif
 
@@ -5011,7 +5012,7 @@
     };
     auto rc = decode_get_state_effecter_states_resp(nullptr, 0, &resp);
 
-    EXPECT_EQ(rc, PLDM_ERROR_INVALID_DATA);
+    EXPECT_EQ(rc, -EINVAL);
 }
 #endif
 
@@ -5028,6 +5029,6 @@
     auto rc = decode_get_state_effecter_states_resp(
         response, responseMsg.size() - hdrSize, nullptr);
 
-    EXPECT_EQ(rc, PLDM_ERROR_INVALID_DATA);
+    EXPECT_EQ(rc, -EINVAL);
 }
 #endif