VOL-5236 vlanconfig fsm graceful resetting

Change-Id: I3811ee19792cb52ce6b335923fc4d871a419f3dc
diff --git a/VERSION b/VERSION
index 34728b5..9462efa 100755
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.11.7
+2.11.8
diff --git a/internal/pkg/avcfg/omci_vlan_config.go b/internal/pkg/avcfg/omci_vlan_config.go
index b17de4d..d4bf25a 100755
--- a/internal/pkg/avcfg/omci_vlan_config.go
+++ b/internal/pkg/avcfg/omci_vlan_config.go
@@ -242,7 +242,7 @@
 			// exceptional treatment for all states except VlanStResetting
 			{Name: VlanEvReset, Src: []string{VlanStStarting, VlanStWaitingTechProf,
 				VlanStConfigVtfd, VlanStConfigEvtocd, VlanStConfigDone, VlanStConfigIncrFlow,
-				VlanStRemoveFlow, VlanStCleanupDone},
+				VlanStRemoveFlow, VlanStCleanupDone, VlanStPreparing},
 				Dst: VlanStResetting},
 			// the only way to get to resource-cleared disabled state again is via "resseting"
 			{Name: VlanEvRestart, Src: []string{VlanStResetting}, Dst: VlanStDisabled},
@@ -1899,9 +1899,10 @@
 				} else {
 					// reset (cancel) of all Fsm is always accompanied by global persistency data removal
 					//  no need to remove specific data in this case here
-					//  TODO: cancelation may also abort a running flowAdd activity in which case it would be better
-					//     to also resopnd on the respChan with some error ("config canceled"), but that is a bit hard to decide here
-					//     so just left open by now
+					for _, vlanRule := range oFsm.uniVlanFlowParamsSlice {
+						// Send response on response channel if the caller is waiting on it with according error indication.
+						oFsm.pushReponseOnFlowResponseChannel(ctx, vlanRule.RespChan, fmt.Errorf("config-cancelled"))
+					}
 					logger.Debugw(ctx, "UniVlanConfigFsm persistency data not cleared", log.Fields{"device-id": oFsm.deviceID})
 				}
 			}