diff --git a/internal/pkg/common/utils.go b/internal/pkg/common/utils.go
index a82a3a2..5560ab6 100755
--- a/internal/pkg/common/utils.go
+++ b/internal/pkg/common/utils.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 common provides global definitions
+// Package common provides global definitions
 package common
 
 import (
@@ -52,7 +52,7 @@
 	return uint8(tpID), err
 }
 
-//IPToInt32 transforms an IP of net.Ip type to int32
+// IPToInt32 transforms an IP of net.Ip type to int32
 func IPToInt32(ip net.IP) uint32 {
 	if len(ip) == 16 {
 		return binary.BigEndian.Uint32(ip[12:16])
@@ -60,7 +60,7 @@
 	return binary.BigEndian.Uint32(ip)
 }
 
-//AsByteSlice transforms a string of manually set bits to a byt array
+// AsByteSlice transforms a string of manually set bits to a byt array
 func AsByteSlice(bitString string) []byte {
 	var out []byte
 	var str string
@@ -98,7 +98,7 @@
 
 ////////////////////////////////////////////////////////////////////////
 
-//NewAdapterFsm - FSM details including event, device and channel.
+// NewAdapterFsm - FSM details including event, device and channel.
 func NewAdapterFsm(aName string, aDeviceID string, aCommChannel chan Message) *AdapterFsm {
 	aFsm := &AdapterFsm{
 		fsmName:  aName,
@@ -163,8 +163,9 @@
 	return (VoipUniBaseEID + uniPortMacBpNo), nil
 }
 
-//WaitTimeout of waitGroupWithTimeOut is blocking
-//  returns true, if the wg request was executed successfully, false on timeout
+// WaitTimeout of waitGroupWithTimeOut is blocking
+//
+//	returns true, if the wg request was executed successfully, false on timeout
 func (wg *WaitGroupWithTimeOut) WaitTimeout(timeout time.Duration) bool {
 	done := make(chan struct{})
 
