[VOL-4899] Avoid ONUs being set to unreachable after multiple unsuccessful OMCI communication attempts

Change-Id: I234fba69dfe13d014dae73168315a5733b16a7c8
diff --git a/VERSION b/VERSION
index 437459c..e70b452 100755
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.5.0
+2.6.0
diff --git a/internal/pkg/common/defines.go b/internal/pkg/common/defines.go
index 545892f..f359795 100755
--- a/internal/pkg/common/defines.go
+++ b/internal/pkg/common/defines.go
@@ -361,15 +361,9 @@
 	OnuOmciCommunicationFailureConfig     = "ONU_OMCI_COMMUNICATION_FAILURE_CONFIG"
 	OnuOmciCommunicationFailureConfigDesc = "OMCI communication during ONU configuration failed"
 
-	OnuOmciCommunicationAbortConfig     = "ONU_OMCI_COMMUNICATION_ABORT_CONFIG"
-	OnuOmciCommunicationAbortConfigDesc = "OMCI communication during ONU configuration aborted - max failures reached: stopping device"
-
 	OnuOmciCommunicationFailureSwUpgrade     = "ONU_OMCI_COMMUNICATION_FAILURE_SW_UPGRADE"
 	OnuOmciCommunicationFailureSwUpgradeDesc = "OMCI communication during ONU SW upgrade failed"
 
-	OnuOmciCommunicationAbortSwUpgrade     = "ONU_OMCI_COMMUNICATION_ABORT_SW_UPGRADE"
-	OnuOmciCommunicationAbortSwUpgradeDesc = "OMCI communication during ONU SW upgrade aborted - max failures reached: stopping device"
-
 	OnuConfigFailureMissingTcont     = "ONU_CONFIG_FAILURE_MISSING_TCONT"
 	OnuConfigFailureMissingTcontDesc = "ONU config failed - no further TCONT resources available at ONU"
 
diff --git a/internal/pkg/common/interfaces.go b/internal/pkg/common/interfaces.go
index ceec3ef..3268564 100755
--- a/internal/pkg/common/interfaces.go
+++ b/internal/pkg/common/interfaces.go
@@ -124,8 +124,6 @@
 	CreatePortInCore(context.Context, *voltha.Port) error
 
 	PerOnuFlowHandlerRoutine(uniID uint8)
-
-	UpdateInterface(context.Context) error
 }
 
 // IonuDeviceEntry interface to onuDeviceEntry
diff --git a/internal/pkg/common/omci_cc.go b/internal/pkg/common/omci_cc.go
index 551f389..8726eb3 100755
--- a/internal/pkg/common/omci_cc.go
+++ b/internal/pkg/common/omci_cc.go
@@ -73,8 +73,6 @@
 // CDefaultRetries - TODO: add comment
 const CDefaultRetries = 2
 
-const cMaxConsecutiveOmciTimeouts = 3
-
 // ### OMCI related definitions - end
 
 //CallbackPairEntry to be used for OMCI send/receive correlation
@@ -134,19 +132,15 @@
 	UploadSequNo   uint16
 	UploadNoOfCmds uint16
 
-	mutexSendQueuedRequests      sync.Mutex
-	mutexLowPrioTxQueue          sync.Mutex
-	lowPrioTxQueue               *list.List
-	mutexHighPrioTxQueue         sync.Mutex
-	highPrioTxQueue              *list.List
-	mutexRxSchedMap              sync.Mutex
-	rxSchedulerMap               map[uint16]CallbackPairEntry
-	mutexMonReq                  sync.RWMutex
-	monitoredRequests            map[uint16]OmciTransferStructure
-	mutexConsecutiveOmciTimeouts sync.RWMutex
-	consecutiveOmciTimeouts      uint8
-	mutexOmciAbortInProgress     sync.RWMutex
-	omciAbortInProgress          bool
+	mutexSendQueuedRequests sync.Mutex
+	mutexLowPrioTxQueue     sync.Mutex
+	lowPrioTxQueue          *list.List
+	mutexHighPrioTxQueue    sync.Mutex
+	highPrioTxQueue         *list.List
+	mutexRxSchedMap         sync.Mutex
+	rxSchedulerMap          map[uint16]CallbackPairEntry
+	mutexMonReq             sync.RWMutex
+	monitoredRequests       map[uint16]OmciTransferStructure
 }
 
 var responsesWithMibDataSync = []omci.MessageType{
@@ -186,8 +180,6 @@
 	omciCC.highPrioTxQueue = list.New()
 	omciCC.rxSchedulerMap = make(map[uint16]CallbackPairEntry)
 	omciCC.monitoredRequests = make(map[uint16]OmciTransferStructure)
-	omciCC.consecutiveOmciTimeouts = 0
-	omciCC.omciAbortInProgress = false
 	return &omciCC
 }
 
@@ -424,11 +416,6 @@
 	rxCallbackEntry, ok := oo.rxSchedulerMap[omciMsg.TransactionID]
 	if ok && rxCallbackEntry.CbFunction != nil {
 
-		// valid OMCI Response Message received - reset counter of consecutive OMCI timeouts
-		oo.mutexConsecutiveOmciTimeouts.Lock()
-		oo.consecutiveOmciTimeouts = 0
-		oo.mutexConsecutiveOmciTimeouts.Unlock()
-
 		if rxCallbackEntry.FramePrint {
 			oo.printRxMessage(ctx, rxMsg)
 		}
@@ -4480,31 +4467,6 @@
 					log.Fields{"tid": tid, "retries": retryCounter, "device-id": oo.deviceID})
 				oo.pOnuDeviceEntry.SendOnuDeviceEvent(ctx, OnuOmciCommunicationFailureSwUpgrade, OnuOmciCommunicationFailureSwUpgradeDesc)
 				oo.incrementTxTimesouts()
-				oo.mutexConsecutiveOmciTimeouts.Lock()
-				if oo.consecutiveOmciTimeouts < cMaxConsecutiveOmciTimeouts {
-					oo.consecutiveOmciTimeouts++
-					oo.mutexConsecutiveOmciTimeouts.Unlock()
-				} else {
-					oo.consecutiveOmciTimeouts = 0
-					oo.mutexConsecutiveOmciTimeouts.Unlock()
-					oo.mutexOmciAbortInProgress.Lock()
-					if !oo.omciAbortInProgress {
-						oo.omciAbortInProgress = true
-						oo.mutexOmciAbortInProgress.Unlock()
-						logger.Errorw(ctx, "reqMon: communication aborted - no of max consecutive timeouts reached - stopping device and send ONU device event!",
-							log.Fields{"tid": tid, "device-id": oo.deviceID})
-						oo.pOnuDeviceEntry.SendOnuDeviceEvent(ctx, OnuOmciCommunicationAbortSwUpgrade, OnuOmciCommunicationAbortSwUpgradeDesc)
-						// stop all running FSM processing
-						_ = oo.pBaseDeviceHandler.UpdateInterface(ctx)
-						oo.mutexOmciAbortInProgress.Lock()
-						oo.omciAbortInProgress = false
-						oo.mutexOmciAbortInProgress.Unlock()
-					} else {
-						oo.mutexOmciAbortInProgress.Unlock()
-						logger.Infow(ctx, "reqMon: communication aborted - corresponding processing already running",
-							log.Fields{"tid": tid, "device-id": oo.deviceID})
-					}
-				}
 				break loop
 			} else {
 				logger.Infow(ctx, "reqMon: timeout waiting for response - retry",
@@ -5008,31 +4970,6 @@
 					log.Fields{"tid": tid, "retries": retryCounter, "device-id": oo.deviceID})
 				oo.pOnuDeviceEntry.SendOnuDeviceEvent(ctx, OnuOmciCommunicationFailureConfig, OnuOmciCommunicationFailureConfigDesc)
 				oo.incrementTxTimesouts()
-				oo.mutexConsecutiveOmciTimeouts.Lock()
-				if oo.consecutiveOmciTimeouts < cMaxConsecutiveOmciTimeouts {
-					oo.consecutiveOmciTimeouts++
-					oo.mutexConsecutiveOmciTimeouts.Unlock()
-				} else {
-					oo.consecutiveOmciTimeouts = 0
-					oo.mutexConsecutiveOmciTimeouts.Unlock()
-					oo.mutexOmciAbortInProgress.Lock()
-					if !oo.omciAbortInProgress {
-						oo.omciAbortInProgress = true
-						oo.mutexOmciAbortInProgress.Unlock()
-						logger.Errorw(ctx, "reqMon: communication aborted - no of max consecutive timeouts reached - stopping device and send ONU device event!",
-							log.Fields{"tid": tid, "device-id": oo.deviceID})
-						oo.pOnuDeviceEntry.SendOnuDeviceEvent(ctx, OnuOmciCommunicationAbortConfig, OnuOmciCommunicationAbortConfigDesc)
-						// stop all running FSM processing
-						_ = oo.pBaseDeviceHandler.UpdateInterface(ctx)
-						oo.mutexOmciAbortInProgress.Lock()
-						oo.omciAbortInProgress = false
-						oo.mutexOmciAbortInProgress.Unlock()
-					} else {
-						oo.mutexOmciAbortInProgress.Unlock()
-						logger.Infow(ctx, "reqMon: communication aborted - corresponding processing already running",
-							log.Fields{"tid": tid, "device-id": oo.deviceID})
-					}
-				}
 				break loop
 			} else {
 				logger.Infow(ctx, "reqMon: timeout waiting for response - retry",