[VOL-5531] Onu adapter crash fix in sending omci requests

Change-Id: I50d05f6ab192c040458678bf9ed290257fa9b874
Signed-off-by: balaji.nagarajan <balaji.nagarajan@radisys.com>
diff --git a/internal/pkg/common/omci_cc.go b/internal/pkg/common/omci_cc.go
index 5fbe0e7..5984c3d 100755
--- a/internal/pkg/common/omci_cc.go
+++ b/internal/pkg/common/omci_cc.go
@@ -640,6 +640,14 @@
 func (oo *OmciCC) sendQueuedHighPrioRequests(ctx context.Context) error {
 	oo.mutexHighPrioTxQueue.Lock()
 	defer oo.mutexHighPrioTxQueue.Unlock()
+
+	if oo.pBaseDeviceHandler == nil {
+		logger.Warnw(ctx, "device handler is nil - abort sendQueuedHighPrioRequests", log.Fields{"device-id": oo.deviceID})
+		return nil
+	} else if oo.pBaseDeviceHandler.GetDeletionInProgress() {
+		logger.Warnw(ctx, "device deletion in progress - abort sendQueuedHighPrioRequests", log.Fields{"device-id": oo.deviceID})
+		return nil
+	}
 	for oo.highPrioTxQueue.Len() > 0 {
 		select {
 		case _, ok := <-oo.pBaseDeviceHandler.GetDeviceDeleteCommChan(ctx):
@@ -668,6 +676,15 @@
 
 func (oo *OmciCC) sendQueuedLowPrioRequests(ctx context.Context) error {
 	oo.mutexLowPrioTxQueue.Lock()
+
+	if oo.pBaseDeviceHandler == nil {
+		logger.Warnw(ctx, "device handler is nil - abort sendQueuedLowPrioRequests", log.Fields{"device-id": oo.deviceID})
+		return nil
+	} else if oo.pBaseDeviceHandler.GetDeletionInProgress() {
+		logger.Warnw(ctx, "device deletion in progress - abort sendQueuedLowPrioRequests", log.Fields{"device-id": oo.deviceID})
+		return nil
+	}
+
 	for oo.lowPrioTxQueue.Len() > 0 {
 		select {
 		case _, ok := <-oo.pBaseDeviceHandler.GetDeviceDeleteCommChan(ctx):
@@ -5048,6 +5065,13 @@
 	retryCounter := 0
 loop:
 	for retryCounter <= retries {
+		if oo.pBaseDeviceHandler == nil {
+			logger.Warnw(ctx, "pBaseDeviceHandler is nil - abort sendWithRxSupervision", log.Fields{"device-id": oo.deviceID})
+			break loop
+		} else if oo.pBaseDeviceHandler.GetDeletionInProgress() {
+			logger.Warnw(ctx, "device deletion in progress - abort sendWithRxSupervision", log.Fields{"device-id": oo.deviceID})
+			break loop
+		}
 		// enqueue
 		if aOmciTxRequest.highPrio {
 			oo.mutexHighPrioTxQueue.Lock()