[VOL-5448] :Onu adapter crash fix when processing pon uni config fsm

Change-Id: I1535fa2ef45491901996133870918c424eb7e379
Signed-off-by: balaji.nagarajan <balaji.nagarajan@radisys.com>
diff --git a/internal/pkg/devdb/onu_device_db.go b/internal/pkg/devdb/onu_device_db.go
index f8e99cb..d299789 100755
--- a/internal/pkg/devdb/onu_device_db.go
+++ b/internal/pkg/devdb/onu_device_db.go
@@ -145,12 +145,13 @@
 // GetMe returns an ME instance from internal ONU DB
 func (OnuDeviceDB *OnuDeviceDB) GetMe(meClassID me.ClassID, meEntityID uint16) me.AttributeValueMap {
 	OnuDeviceDB.CommonMeDb.MeDbLock.RLock()
-	defer OnuDeviceDB.CommonMeDb.MeDbLock.RUnlock()
 
 	// Check in the common MeDb
 	if meAttributes, present := OnuDeviceDB.CommonMeDb.MeDb[meClassID][meEntityID]; present {
+		OnuDeviceDB.CommonMeDb.MeDbLock.RUnlock()
 		return meAttributes
 	}
+	OnuDeviceDB.CommonMeDb.MeDbLock.RUnlock()
 
 	OnuDeviceDB.OnuSpecificMeDbLock.RLock()
 	defer OnuDeviceDB.OnuSpecificMeDbLock.RUnlock()
@@ -298,9 +299,10 @@
 // DeleteMe deletes an ME instance from internal ONU DB
 func (OnuDeviceDB *OnuDeviceDB) DeleteMe(meClassID me.ClassID, meEntityID uint16) {
 	OnuDeviceDB.CommonMeDb.MeDbLock.Lock()
-	defer OnuDeviceDB.CommonMeDb.MeDbLock.Unlock()
+
 	meDb := OnuDeviceDB.CommonMeDb.MeDb
 	delete(meDb[meClassID], meEntityID)
+	OnuDeviceDB.CommonMeDb.MeDbLock.Unlock()
 
 	OnuDeviceDB.OnuSpecificMeDbLock.Lock()
 	defer OnuDeviceDB.OnuSpecificMeDbLock.Unlock()