summaryrefslogtreecommitdiffstats
path: root/user_channel
diff options
context:
space:
mode:
authorRichard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com>2019-01-29 14:42:44 +0530
committerRichard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com>2019-02-02 02:37:49 +0000
commitb6771e0f58cf4272055f0dc6c4aa2cfdd096c8ce (patch)
treecfabd1b3ecbb676c6e26f566a3ffa8927976956f /user_channel
parentef02401a871e29beabfda6b37db54c283a1e0f69 (diff)
downloadphosphor-host-ipmid-b6771e0f58cf4272055f0dc6c4aa2cfdd096c8ce.tar.gz
phosphor-host-ipmid-b6771e0f58cf4272055f0dc6c4aa2cfdd096c8ce.zip
Fix: Handle return codes for user commmands
Handle the missed return code for the user commands Unit-test: 1. Verified user list & error codes in ipmitool user list 1 Change-Id: Ia62aebc367dd2606df1dd25507953bf465ab40d7 Signed-off-by: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com>
Diffstat (limited to 'user_channel')
-rw-r--r--user_channel/usercommands.cpp24
1 files changed, 16 insertions, 8 deletions
diff --git a/user_channel/usercommands.cpp b/user_channel/usercommands.cpp
index eb770e4..507d95c 100644
--- a/user_channel/usercommands.cpp
+++ b/user_channel/usercommands.cpp
@@ -222,9 +222,8 @@ ipmi_ret_t ipmiSetUserAccess(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
privAccess.accessCallback = req->accessCallback;
}
privAccess.privilege = req->privilege;
- ipmiUserSetPrivilegeAccess(req->userId, chNum, privAccess, req->bitsUpdate);
-
- return IPMI_CC_OK;
+ return ipmiUserSetPrivilegeAccess(req->userId, chNum, privAccess,
+ req->bitsUpdate);
}
ipmi_ret_t ipmiGetUserAccess(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
@@ -233,6 +232,7 @@ ipmi_ret_t ipmiGetUserAccess(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
{
const GetUserAccessReq* req = static_cast<GetUserAccessReq*>(request);
size_t reqLength = *dataLen;
+ ipmi_ret_t retStatus = IPMI_CC_OK;
*dataLen = 0;
@@ -262,18 +262,26 @@ ipmi_ret_t ipmiGetUserAccess(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
std::fill(reinterpret_cast<uint8_t*>(resp),
reinterpret_cast<uint8_t*>(resp) + sizeof(*resp), 0);
- ipmiUserGetAllCounts(maxChUsers, enabledUsers, fixedUsers);
+ retStatus = ipmiUserGetAllCounts(maxChUsers, enabledUsers, fixedUsers);
+ if (retStatus != IPMI_CC_OK)
+ {
+ return retStatus;
+ }
+
resp->maxChUsers = maxChUsers;
resp->enabledUsers = enabledUsers;
resp->fixedUsers = fixedUsers;
- ipmiUserCheckEnabled(req->userId, enabledState);
+ retStatus = ipmiUserCheckEnabled(req->userId, enabledState);
+ if (retStatus != IPMI_CC_OK)
+ {
+ return retStatus;
+ }
+
resp->enabledStatus = enabledState ? userIdEnabledViaSetPassword
: userIdDisabledViaSetPassword;
- ipmiUserGetPrivilegeAccess(req->userId, chNum, resp->privAccess);
*dataLen = sizeof(*resp);
-
- return IPMI_CC_OK;
+ return ipmiUserGetPrivilegeAccess(req->userId, chNum, resp->privAccess);
}
ipmi_ret_t ipmiSetUserName(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
OpenPOWER on IntegriCloud