[VOL-5385] - do not create vlanFilter Fsm when device state it down

Change-Id: I044760aed9ffee11abd7b617532dca1ba2df70b4
Signed-off-by: Sridhar Ravindra <sridhar.ravindra@radisys.com>
diff --git a/internal/pkg/core/device_handler.go b/internal/pkg/core/device_handler.go
index e2dfad7..460d794 100755
--- a/internal/pkg/core/device_handler.go
+++ b/internal/pkg/core/device_handler.go
@@ -3469,6 +3469,11 @@
 		return fmt.Errorf("no valid OnuDevice for device-id %x - aborting", dh.DeviceID)
 	}
 
+	if dh.pDeviceStateFsm.Current() == devStDown {
+		logger.Warnw(ctx, "UniVlanConfigFsm : aborting, device state down", log.Fields{"device-id": dh.DeviceID})
+		return fmt.Errorf("device state down for device-id %x - aborting", dh.DeviceID)
+	}
+
 	pVlanFilterFsm := avcfg.NewUniVlanConfigFsm(ctx, dh, pDevEntry, pDevEntry.PDevOmciCC, apUniPort, dh.pOnuTP,
 		pDevEntry.GetOnuDB(), aTpID, aDevEvent, "UniVlanConfigFsm", chVlanFilterFsm,
 		dh.pOpenOnuAc.AcceptIncrementalEvto, aCookieSlice, aMatchVlan, aMatchPcp, aSetVlan, aSetPcp, innerCvlan, lastFlowToReconcile, aMeter, respChan)