[VOL-5462] Device reconcilation fix

Change-Id: I1277dc1e21cc4d1850d15864a7a060c2581d014b
Signed-off-by: bseeniva <balaji.seenivasan@radisys.com>
diff --git a/VERSION b/VERSION
index 74befd7..601c643 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-3.6.16
+3.6.17
diff --git a/rw_core/core/device/agent.go b/rw_core/core/device/agent.go
index bdba7f7..9136174 100755
--- a/rw_core/core/device/agent.go
+++ b/rw_core/core/device/agent.go
@@ -1583,21 +1583,16 @@
 		agent.requestQueue.RequestComplete()
 
 		if state != core.DeviceTransientState_REBOOT_IN_PROGRESS {
+			var err error
 			if state != core.DeviceTransientState_RECONCILE_IN_PROGRESS {
 				// set transient state to RECONCILE IN PROGRESS
-				if err := agent.UpdateTransientStateToReconcile(ctx); err != nil {
-					logger.Errorw(ctx, "setting-transient-state-failed", log.Fields{"error": err})
-					agent.stopReconcilingMutex.Lock()
-					if agent.stopReconciling != nil {
-						agent.stopReconciling = nil
-					}
-					desc = "Failed-to-update-transient-state"
-					agent.logDeviceUpdate(ctx, nil, nil, requestStatus, err, desc)
-					agent.stopReconcilingMutex.Unlock()
-					break retry
+				if err = agent.UpdateTransientStateToReconcile(ctx); err != nil {
+					logger.Warn(ctx, "setting-transient-state-failed, will be retried", log.Fields{"error": err})
 				}
 			}
-			reconcileErr = agent.sendReconcileRequestToAdapter(ctx, device)
+			if err == nil {
+				reconcileErr = agent.sendReconcileRequestToAdapter(ctx, device)
+			}
 		}
 
 		if errors.Is(reconcileErr, errContextExpired) || errors.Is(reconcileErr, errReconcileAborted) {