Initialize apiStatus field in all NameServer devctl calls
authorvwan@ti.com <vwan@ti.com>
Fri, 20 Mar 2015 22:53:30 +0000 (15:53 -0700)
committerRobert Tivy <rtivy@ti.com>
Tue, 24 Mar 2015 17:52:13 +0000 (10:52 -0700)
Upon the return from Nameserver's internal devctl calls, the apiStatus field
in the returned CmdArgs structure for some APIs (NameServer_create,
NameServer_add, NameServer_addUInt32, NameServer_Params_init) is left
uninitialized. This commit ensures that the field is correctly set, so that
sporadic failures do not occur due to the uninitialized apiStatus field being
negative.

This addresses SDOCM00115294/SDOCM00115308/SDOCM00115309/SDOCM00115310.

Signed-off-by: VW <vwan@ti.com>
qnx/src/ipc3x_dev/ti/syslink/utils/hlos/knl/Qnx/Nameserver_devctl.c

index a7ca2c1c3ba1079a1e1cc2b7a2ee45f2579ca5e8..07811ab9b6fdd5be710febb9bcf68a768750b187 100644 (file)
@@ -212,6 +212,12 @@ int ipc_nameserver_add(resmgr_context_t *ctp, io_devctl_t *msg,
     GT_assert (curTrace, (entry != NULL));
 
     out->args.add.entry = entry;
+    if (entry) {
+        out->apiStatus = NameServer_S_SUCCESS;
+    }
+    else {
+        out->apiStatus = NameServer_E_FAIL;
+    }
 
     return (_RESMGR_PTR (ctp, &msg->o, sizeof(msg->o) +
         sizeof(NameServerDrv_CmdArgs)));
@@ -289,6 +295,12 @@ int ipc_nameserver_adduint32(resmgr_context_t *ctp, io_devctl_t *msg,
     GT_assert (curTrace, (entry != NULL));
 
     out->args.addUInt32.entry = entry;
+    if (entry) {
+        out->apiStatus = NameServer_S_SUCCESS;
+    }
+    else {
+        out->apiStatus = NameServer_E_FAIL;
+    }
 
     return (_RESMGR_PTR (ctp, &msg->o, sizeof(msg->o) +
         sizeof(NameServerDrv_CmdArgs)));
@@ -408,6 +420,8 @@ int ipc_nameserver_params_init(resmgr_context_t *ctp, io_devctl_t *msg,
 {
     NameServerDrv_CmdArgs *     cargs = (NameServerDrv_CmdArgs *)
         (_DEVCTL_DATA (msg->i));
+    NameServerDrv_CmdArgs *     out  = (NameServerDrv_CmdArgs *)
+        (_DEVCTL_DATA (msg->o));
 
     NameServer_Params *params = (NameServer_Params *)(cargs+1);
 
@@ -417,6 +431,8 @@ int ipc_nameserver_params_init(resmgr_context_t *ctp, io_devctl_t *msg,
         sizeof(NameServerDrv_CmdArgs));
     SETIOV(&ctp->iov[1], params, sizeof(NameServer_Params));
 
+    out->apiStatus = NameServer_S_SUCCESS;
+
     return _RESMGR_NPARTS(2);
 }
 
@@ -443,6 +459,13 @@ int ipc_nameserver_create(resmgr_context_t *ctp, io_devctl_t *msg,
     String name = (String)(params+1);
 
     out->args.create.handle = NameServer_create (name, params);
+    if (out->args.create.handle) {
+        out->apiStatus = NameServer_S_SUCCESS;
+    }
+    else {
+        out->apiStatus = NameServer_E_FAIL;
+    }
+
     GT_assert (curTrace, (out->args.create.handle != NULL));
 
     return (_RESMGR_PTR (ctp, &msg->o, sizeof(msg->o) +