[VOL-4010] openonuAdapterGo - investigate and resolve data race conditions

Change-Id: I8e957d8bd59b91db27ee4f303a5a222a8f83e8c4
diff --git a/internal/pkg/onuadaptercore/omci_cc.go b/internal/pkg/onuadaptercore/omci_cc.go
index b37230b..7a85e4a 100644
--- a/internal/pkg/onuadaptercore/omci_cc.go
+++ b/internal/pkg/onuadaptercore/omci_cc.go
@@ -119,13 +119,14 @@
 	uploadSequNo   uint16
 	uploadNoOfCmds uint16
 
-	mutexTxQueue      sync.Mutex
-	txQueue           *list.List
-	mutexRxSchedMap   sync.Mutex
-	rxSchedulerMap    map[uint16]callbackPairEntry
-	mutexMonReq       sync.RWMutex
-	monitoredRequests map[uint16]omciTransferStructure
-	pLastTxMeInstance *me.ManagedEntity
+	mutexTxQueue           sync.Mutex
+	txQueue                *list.List
+	mutexRxSchedMap        sync.Mutex
+	rxSchedulerMap         map[uint16]callbackPairEntry
+	mutexMonReq            sync.RWMutex
+	monitoredRequests      map[uint16]omciTransferStructure
+	mutexPLastTxMeInstance sync.RWMutex
+	pLastTxMeInstance      *me.ManagedEntity
 }
 
 var responsesWithMibDataSync = []omci.MessageType{
@@ -824,8 +825,7 @@
 			"Err": err, "device-id": oo.deviceID})
 		return err
 	}
-	oo.pBaseDeviceHandler.pAlarmMgr.alarmUploadSeqNo = 0
-	oo.pBaseDeviceHandler.pAlarmMgr.alarmUploadNoOfCmds = 0
+	oo.pBaseDeviceHandler.pAlarmMgr.ResetAlarmUploadCounters()
 
 	omciRxCallbackPair := callbackPair{
 		cbKey: tid,
@@ -836,7 +836,7 @@
 }
 
 func (oo *omciCC) sendGetAllAlarmNext(ctx context.Context, timeout int, highPrio bool) error {
-	alarmUploadSeqNo := oo.pBaseDeviceHandler.pAlarmMgr.alarmUploadSeqNo
+	alarmUploadSeqNo := oo.pBaseDeviceHandler.pAlarmMgr.GetAlarmUploadSeqNo()
 	logger.Debugw(ctx, "send sendGetAllAlarmNext-msg to:", log.Fields{"device-id": oo.deviceID,
 		"alarmUploadSeqNo": alarmUploadSeqNo})
 	request := &omci.GetAllAlarmsNextRequest{
@@ -852,7 +852,7 @@
 			"Err": err, "device-id": oo.deviceID})
 		return err
 	}
-	oo.pBaseDeviceHandler.pAlarmMgr.alarmUploadSeqNo++
+	oo.pBaseDeviceHandler.pAlarmMgr.IncrementAlarmUploadSeqNo()
 
 	omciRxCallbackPair := callbackPair{
 		cbKey:   tid,