diff --git a/protocols/isis/ctl/src/main/java/org/onosproject/isis/controller/impl/DefaultIsisInterface.java b/protocols/isis/ctl/src/main/java/org/onosproject/isis/controller/impl/DefaultIsisInterface.java
index 864b6e5..49bfd74 100644
--- a/protocols/isis/ctl/src/main/java/org/onosproject/isis/controller/impl/DefaultIsisInterface.java
+++ b/protocols/isis/ctl/src/main/java/org/onosproject/isis/controller/impl/DefaultIsisInterface.java
@@ -512,6 +512,7 @@
      *
      * @param isisMessage received ISIS message
      * @param isisLsdb    ISIS LSDB instance
+     * @param channel     channel
      */
     public void processIsisMessage(IsisMessage isisMessage, IsisLsdb isisLsdb, Channel channel) {
         log.debug("IsisInterfaceImpl::processIsisMessage...!!!");
@@ -1122,4 +1123,4 @@
         exServiceHello.shutdown();
         helloSenderStarted = false;
     }
-}
\ No newline at end of file
+}
diff --git a/protocols/isis/ctl/src/main/java/org/onosproject/isis/controller/impl/LspEventConsumer.java b/protocols/isis/ctl/src/main/java/org/onosproject/isis/controller/impl/LspEventConsumer.java
index 8730814..590be7b 100755
--- a/protocols/isis/ctl/src/main/java/org/onosproject/isis/controller/impl/LspEventConsumer.java
+++ b/protocols/isis/ctl/src/main/java/org/onosproject/isis/controller/impl/LspEventConsumer.java
@@ -230,7 +230,6 @@
      *
      * @param localSystemId  local system ID
      * @param remoteSystemId remote system ID
-     * @return link information
      * @param interfaceIp interface address
      * @param neighborIp neighbor address
      * @param lsPdu link state PDU instance
@@ -351,4 +350,4 @@
         }
         return isisLinkTed;
     }
-}
\ No newline at end of file
+}
diff --git a/protocols/isis/ctl/src/main/java/org/onosproject/isis/controller/impl/lsdb/DefaultIsisLsdb.java b/protocols/isis/ctl/src/main/java/org/onosproject/isis/controller/impl/lsdb/DefaultIsisLsdb.java
index 2062ccc..3be5e89 100755
--- a/protocols/isis/ctl/src/main/java/org/onosproject/isis/controller/impl/lsdb/DefaultIsisLsdb.java
+++ b/protocols/isis/ctl/src/main/java/org/onosproject/isis/controller/impl/lsdb/DefaultIsisLsdb.java
@@ -236,6 +236,9 @@
     /**
      * Installs a new self-originated LSP.
      *
+     * @param isisMessage ISIS message
+     * @param isSelfOriginated is the message self originated?
+     * @param isisInterface ISIS interface
      * @return true if successfully added
      */
     public boolean addLsp(IsisMessage isisMessage, boolean isSelfOriginated, IsisInterface isisInterface) {
@@ -431,4 +434,4 @@
             log.debug("Added LSp In Blocking queue: {}", lspWrapper);
         }
     }
-}
\ No newline at end of file
+}
diff --git a/protocols/isis/ctl/src/main/java/org/onosproject/isis/controller/impl/topology/DefaultIsisRouter.java b/protocols/isis/ctl/src/main/java/org/onosproject/isis/controller/impl/topology/DefaultIsisRouter.java
index 90bc131..9c459b8 100644
--- a/protocols/isis/ctl/src/main/java/org/onosproject/isis/controller/impl/topology/DefaultIsisRouter.java
+++ b/protocols/isis/ctl/src/main/java/org/onosproject/isis/controller/impl/topology/DefaultIsisRouter.java
@@ -42,6 +42,8 @@
 
     /**
      * Sets IP address of the Router.
+     *
+     * @param systemId system identifier of the router
      */
     public void setSystemId(String systemId) {
         this.systemId = systemId;
@@ -129,4 +131,4 @@
     public int hashCode() {
         return Objects.hashCode(systemId, neighborRouterId, interfaceId);
     }
-}
\ No newline at end of file
+}
