diff --git a/libpldm/requester/pldm.c b/libpldm/requester/pldm.c
index 5b8fdf4..932f55e 100644
--- a/libpldm/requester/pldm.c
+++ b/libpldm/requester/pldm.c
@@ -180,5 +180,9 @@
 	msg.msg_iov = iov;
 	msg.msg_iovlen = sizeof(iov) / sizeof(iov[0]);
 
-	return sendmsg(mctp_fd, &msg, 0);
+	ssize_t rc = sendmsg(mctp_fd, &msg, 0);
+	if (rc == -1) {
+		return PLDM_REQUESTER_SEND_FAIL;
+	}
+	return PLDM_REQUESTER_SUCCESS;
 }
diff --git a/pldmtool/pldm_cmd_helper.cpp b/pldmtool/pldm_cmd_helper.cpp
index 2173287..10e051f 100644
--- a/pldmtool/pldm_cmd_helper.cpp
+++ b/pldmtool/pldm_cmd_helper.cpp
@@ -205,15 +205,9 @@
         }
         uint8_t* responseMessage = nullptr;
         size_t responseMessageSize{};
-        auto rc = pldm_send_recv(mctp_eid, fd, requestMsg.data() + 2,
-                                 requestMsg.size() - 2, &responseMessage,
-                                 &responseMessageSize);
-        if (rc != PLDM_REQUESTER_SUCCESS)
-        {
-            std::cerr << "Failed to call pldm_send_recv, rc = " << rc
-                      << std::endl;
-            return rc;
-        }
+        pldm_send_recv(mctp_eid, fd, requestMsg.data() + 2,
+                       requestMsg.size() - 2, &responseMessage,
+                       &responseMessageSize);
 
         Logger(pldmVerbose, "Response Message:", "");
         responseMsg.resize(responseMessageSize);
diff --git a/softoff/softoff.cpp b/softoff/softoff.cpp
index 14bc670..d215c1d 100644
--- a/softoff/softoff.cpp
+++ b/softoff/softoff.cpp
@@ -411,7 +411,7 @@
 
     // Send PLDM Request message - pldm_send doesn't wait for response
     rc = pldm_send(mctpEID, fd, requestMsg.data(), requestMsg.size());
-    if (rc != PLDM_REQUESTER_SUCCESS)
+    if (0 > rc)
     {
         std::cerr << "Failed to send message/receive response. RC = " << rc
                   << ", errno = " << errno << "\n";
diff --git a/utilities/requester/set_state_effecter_async.cpp b/utilities/requester/set_state_effecter_async.cpp
index 0750c7d..303aefe 100644
--- a/utilities/requester/set_state_effecter_async.cpp
+++ b/utilities/requester/set_state_effecter_async.cpp
@@ -78,7 +78,7 @@
 
     // Send PLDM Request message - pldm_send doesn't wait for response
     rc = pldm_send(mctpEid, fd, requestMsg.data(), requestMsg.size());
-    if (rc != PLDM_REQUESTER_SUCCESS)
+    if (0 > rc)
     {
         std::cerr << "Failed to send message/receive response. RC = " << rc
                   << ", errno = " << errno << "\n";
