[VOL-2364] Returning a DEADLINE_EXCEEDED error from ChildDeviceDetected

Change-Id: I82559a1215702143acf9866ae187b51f149e7f15
diff --git a/pkg/adapters/common/utils.go b/pkg/adapters/common/utils.go
index d3c562a..b782ebe 100644
--- a/pkg/adapters/common/utils.go
+++ b/pkg/adapters/common/utils.go
@@ -17,6 +17,9 @@
 
 import (
 	"fmt"
+	"github.com/opencord/voltha-lib-go/v3/pkg/log"
+	ic "github.com/opencord/voltha-protos/v3/go/inter_container"
+	"google.golang.org/grpc/codes"
 	"math/rand"
 	"time"
 )
@@ -71,3 +74,17 @@
 	}
 	return string(b)
 }
+
+func ICProxyErrorCodeToGrpcErrorCode(icErr ic.ErrorCodeCodes) codes.Code {
+	switch icErr {
+	case ic.ErrorCode_INVALID_PARAMETERS:
+		return codes.InvalidArgument
+	case ic.ErrorCode_UNSUPPORTED_REQUEST:
+		return codes.Unavailable
+	case ic.ErrorCode_DEADLINE_EXCEEDED:
+		return codes.DeadlineExceeded
+	default:
+		log.Warnw("cannnot-map-ic-error-code-to-grpc-error-code", log.Fields{"err": icErr})
+		return codes.Internal
+	}
+}