diff --git a/rw_core/mocks/adapter.go b/rw_core/mocks/adapter.go
index 11987be..80465c8 100644
--- a/rw_core/mocks/adapter.go
+++ b/rw_core/mocks/adapter.go
@@ -73,21 +73,21 @@
 // Adapter represents adapter attributes
 type Adapter struct {
 	flows                map[string]map[uint64]*openflow_13.OfpFlowStats
-	flowLock             sync.RWMutex
 	devices              map[string]*voltha.Device
-	deviceLock           sync.RWMutex
 	failFlowAdd          map[string]bool
-	failFlowAddLock      sync.RWMutex
 	failFlowDelete       map[string]bool
-	failFlowDeleteLock   sync.RWMutex
 	failDeleteDevice     map[string]bool
-	failDeleteDeviceLock sync.RWMutex
-	coreEnpoint          string
 	coreClient           *vgrpc.Client
+	Probe                *probe.Probe
+	coreEnpoint          string
 	serviceEndpoint      string
 	DeviceType           string
 	vendor               string
-	Probe                *probe.Probe
+	flowLock             sync.RWMutex
+	deviceLock           sync.RWMutex
+	failFlowAddLock      sync.RWMutex
+	failFlowDeleteLock   sync.RWMutex
+	failDeleteDeviceLock sync.RWMutex
 }
 
 // NewAdapter creates adapter instance
diff --git a/rw_core/mocks/adapter_olt.go b/rw_core/mocks/adapter_olt.go
index 5a9d779..65c5503 100644
--- a/rw_core/mocks/adapter_olt.go
+++ b/rw_core/mocks/adapter_olt.go
@@ -45,9 +45,9 @@
 // OLTAdapter represent OLT adapter
 type OLTAdapter struct {
 	*Adapter
+	grpcServer      *vgrpc.GrpcServer
 	ChildDeviceType string
 	childVendor     string
-	grpcServer      *vgrpc.GrpcServer
 }
 
 // NewOLTAdapter - creates OLT adapter instance
@@ -140,7 +140,7 @@
 		if err != nil {
 			return
 		}
-		if _, err := c.DeviceUpdate(context.TODO(), d); err != nil {
+		if _, err = c.DeviceUpdate(context.TODO(), d); err != nil {
 			logger.Fatalf(ctx, "deviceUpdate-failed-%s", err)
 		}
 
@@ -184,7 +184,7 @@
 			logger.Fatalf(ctx, "PortCreated-failed-%s", err)
 		}
 
-		//Get the latest device data from the Core
+		// Get the latest device data from the Core
 		if d, err = c.GetDevice(context.TODO(), &common.ID{Id: d.Id}); err != nil {
 			logger.Fatalf(ctx, "getting-device-failed-%s", err)
 		}
@@ -195,7 +195,7 @@
 		initialUniPortNo := startingUNIPortNo
 		for i := 0; i < numONUPerOLT; i++ {
 			go func(seqNo int) {
-				if _, err := c.ChildDeviceDetected(context.TODO(),
+				if _, err = c.ChildDeviceDetected(context.TODO(),
 					&ca.DeviceDiscovery{
 						ParentId:        d.Id,
 						ParentPortNo:    1,
@@ -265,7 +265,7 @@
 			logger.Warnw(ctx, "updating-ports-failed", log.Fields{"device-id": device.Id, "error": err})
 		}
 
-		//Update the device operational state
+		// Update the device operational state
 		cloned.OperStatus = common.OperStatus_UNKNOWN
 		// The device is still reachable after it has been disabled, so the connection status should not be changed.
 
@@ -314,7 +314,7 @@
 			logger.Warnw(ctx, "updating-ports-failed", log.Fields{"device-id": device.Id, "error": err})
 		}
 
-		//Update the device state
+		// Update the device state
 		cloned.OperStatus = common.OperStatus_ACTIVE
 
 		if _, err := c.DeviceStateUpdate(context.TODO(), &ca.DeviceStateFilter{
diff --git a/rw_core/mocks/adapter_onu.go b/rw_core/mocks/adapter_onu.go
index 6087422..b7309f6 100644
--- a/rw_core/mocks/adapter_onu.go
+++ b/rw_core/mocks/adapter_onu.go
@@ -130,7 +130,7 @@
 		if err != nil {
 			return
 		}
-		if _, err := c.DeviceUpdate(context.TODO(), d); err != nil {
+		if _, err = c.DeviceUpdate(context.TODO(), d); err != nil {
 			logger.Fatalf(ctx, "deviceUpdate-failed-%s", err)
 		}
 
@@ -197,7 +197,7 @@
 			logger.Fatalf(ctx, "PortCreated-failed-%s", err)
 		}
 
-		//Get the latest device data from the Core
+		// Get the latest device data from the Core
 		if d, err = c.GetDevice(context.TODO(), &common.ID{Id: d.Id}); err != nil {
 			logger.Fatalf(ctx, "getting-device-failed-%s", err)
 		}
@@ -237,7 +237,7 @@
 			logger.Warnw(ctx, "updating-ports-failed", log.Fields{"device-id": device.Id, "error": err})
 		}
 
-		//Update the device operational state
+		// Update the device operational state
 		cloned.ConnectStatus = common.ConnectStatus_UNREACHABLE
 		cloned.OperStatus = common.OperStatus_UNKNOWN
 
@@ -280,7 +280,7 @@
 			logger.Warnw(ctx, "updating-ports-failed", log.Fields{"device-id": device.Id, "error": err})
 		}
 
-		//Update the device state
+		// Update the device state
 		cloned.ConnectStatus = common.ConnectStatus_REACHABLE
 		cloned.OperStatus = common.OperStatus_ACTIVE
 
