diff --git a/internal/pkg/uniprt/common.go b/internal/pkg/uniprt/common.go
index c2607e8..20bab52 100755
--- a/internal/pkg/uniprt/common.go
+++ b/internal/pkg/uniprt/common.go
@@ -1,5 +1,5 @@
 /*
- * Copyright 2020-2023 Open Networking Foundation (ONF) and the ONF Contributors
+ * Copyright 2020-2024 Open Networking Foundation (ONF) and the ONF Contributors
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-//Package uniprt provides the utilities for uni port configuration
+// Package uniprt provides the utilities for uni port configuration
 package uniprt
 
 import (
diff --git a/internal/pkg/uniprt/uniportadmin.go b/internal/pkg/uniprt/uniportadmin.go
index bea2a90..0461ac5 100755
--- a/internal/pkg/uniprt/uniportadmin.go
+++ b/internal/pkg/uniprt/uniportadmin.go
@@ -1,5 +1,5 @@
 /*
- * Copyright 2020-2023 Open Networking Foundation (ONF) and the ONF Contributors
+ * Copyright 2020-2024 Open Networking Foundation (ONF) and the ONF Contributors
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-//Package uniprt provides the utilities for uni port configuration
+// Package uniprt provides the utilities for uni port configuration
 package uniprt
 
 import (
@@ -31,7 +31,7 @@
 	cmn "github.com/opencord/voltha-openonu-adapter-go/internal/pkg/common"
 )
 
-//LockStateFsm defines the structure for the state machine to lock/unlock the ONU UNI ports via OMCI
+// LockStateFsm defines the structure for the state machine to lock/unlock the ONU UNI ports via OMCI
 type LockStateFsm struct {
 	deviceID                 string
 	pDeviceHandler           cmn.IdeviceHandler
@@ -71,7 +71,7 @@
 // CUniFsmIdleState - TODO: add comment
 const CUniFsmIdleState = UniStDisabled
 
-//NewLockStateFsm is the 'constructor' for the state machine to lock/unlock the ONU UNI ports via OMCI
+// NewLockStateFsm is the 'constructor' for the state machine to lock/unlock the ONU UNI ports via OMCI
 func NewLockStateFsm(ctx context.Context, aAdminState bool, aRequestEvent cmn.OnuDeviceEvent,
 	aName string, apDeviceHandler cmn.IdeviceHandler, apOnuDeviceEntry cmn.IonuDeviceEntry, aCommChannel chan cmn.Message) *LockStateFsm {
 	instFsm := &LockStateFsm{
@@ -165,8 +165,8 @@
 	return instFsm
 }
 
-//SetSuccessEvent modifies the requested event notified on success
-//assumption is that this is only called in the disabled (idle) state of the FSM, hence no sem protection required
+// SetSuccessEvent modifies the requested event notified on success
+// assumption is that this is only called in the disabled (idle) state of the FSM, hence no sem protection required
 func (oFsm *LockStateFsm) SetSuccessEvent(aEvent cmn.OnuDeviceEvent) {
 	oFsm.requestEvent = aEvent
 }
diff --git a/internal/pkg/uniprt/uniportstatus.go b/internal/pkg/uniprt/uniportstatus.go
index 6a89141..5dc9d1b 100755
--- a/internal/pkg/uniprt/uniportstatus.go
+++ b/internal/pkg/uniprt/uniportstatus.go
@@ -1,5 +1,5 @@
 /*
- * Copyright 2020-2023 Open Networking Foundation (ONF) and the ONF Contributors
+ * Copyright 2020-2024 Open Networking Foundation (ONF) and the ONF Contributors
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-//Package uniprt provides the utilities for uni port configuration
+// Package uniprt provides the utilities for uni port configuration
 package uniprt
 
 import (
@@ -30,7 +30,7 @@
 
 const uniStatusTimeout = 3
 
-//UniPortStatus implements methods to get uni port status info
+// UniPortStatus implements methods to get uni port status info
 type UniPortStatus struct {
 	deviceID          string
 	pDeviceHandler    cmn.IdeviceHandler
@@ -39,7 +39,7 @@
 	pLastTxMeInstance *me.ManagedEntity
 }
 
-//NewUniPortStatus creates a new instance of UniPortStatus
+// NewUniPortStatus creates a new instance of UniPortStatus
 func NewUniPortStatus(apDeviceHandler cmn.IdeviceHandler, apOmicc *cmn.OmciCC) *UniPortStatus {
 	return &UniPortStatus{
 		deviceID:       apDeviceHandler.GetDeviceID(),
