diff --git a/src/biccommands.cpp b/src/biccommands.cpp
index ed3f6f8..2220dfe 100644
--- a/src/biccommands.cpp
+++ b/src/biccommands.cpp
@@ -150,7 +150,7 @@
 
 //----------------------------------------------------------------------
 // ipmiOemPostCodeHandler (CMD_OEM_BIC_POST_BUFFER_INFO)
-// This Function will handle BIC incomming postcode from multi-host for
+// This Function will handle BIC incoming postcode from multi-host for
 // netfn=0x38 and cmd=0x08 or 0x33 send the response back to the sender.
 //----------------------------------------------------------------------
 
@@ -185,7 +185,7 @@
                 "xyz.openbmc_project.State.Boot.Raw", dbusObjStr.c_str(),
                 "org.freedesktop.DBus.Properties", "Set");
 
-            // Adding paramters to method call
+            // Adding parameters to method call
             method.append(dbusService, "Value",
                           std::variant<postcode_t>(postCode));
 
@@ -243,7 +243,7 @@
 
 //----------------------------------------------------------------------
 // ipmiOemSetHostPowerState (CMD_OEM_SET_HOST_POWER_STATE)
-// This Function will handle BIC incomming IPMI request for
+// This Function will handle BIC incoming IPMI request for
 // setting host current state for netfn=0x38 and cmd=0x0C
 // send the response back to the sender.
 //----------------------------------------------------------------------
diff --git a/src/selcommands.cpp b/src/selcommands.cpp
index 0a46c53..51c1d15 100644
--- a/src/selcommands.cpp
+++ b/src/selcommands.cpp
@@ -219,10 +219,10 @@
 };
 
 /*
- * A Function to parse common SEL message, a helper funciton
+ * A Function to parse common SEL message, a helper function
  * for parseStdSel.
  *
- * Note that this function __CANNOT__ be overriden.
+ * Note that this function __CANNOT__ be overridden.
  * To add board specific routine, please override parseStdSel.
  */
 
@@ -557,13 +557,13 @@
     if (data[0] == 0x1)
     {
         errLog = "SYS_PWROK failure";
-        /* Also try logging to Critial log file, if available */
+        /* Also try logging to Critical log file, if available */
         /* "SYS_PWROK failure,FRU:1" */
     }
     else if (data[0] == 0x2)
     {
         errLog = "PCH_PWROK failure";
-        /* Also try logging to Critial log file, if available */
+        /* Also try logging to Critical log file, if available */
         /* "PCH_PWROK failure,FRU:1" */
     }
     else
@@ -577,13 +577,13 @@
     if (data[0] == 0x0)
     {
         errLog = "IERR/CATERR";
-        /* Also try logging to Critial log file, if available */
+        /* Also try logging to Critical log file, if available */
         /* "IERR,FRU:1 */
     }
     else if (data[0] == 0xB)
     {
         errLog = "MCERR/CATERR";
-        /* Also try logging to Critial log file, if available */
+        /* Also try logging to Critical log file, if available */
         /* "MCERR,FRU:1 */
     }
     else
@@ -601,7 +601,7 @@
     else
     {
         errLog = "Unknown";
-        /* Also try logging to Critial log file, if available */
+        /* Also try logging to Critical log file, if available */
         /* ""CPU_DIMM_HOT %s,FRU:1" */
     }
 }
@@ -993,7 +993,7 @@
                   " Card: " + std::to_string(chNum) + "," +
                   " Module: " + std::to_string(dimmNum) + "," +
                   " Rank Number: " + std::to_string(rankNum) + "," +
-                  " Location: DIMM Unknow";
+                  " Location: DIMM Unknown";
     }
 }
 
diff --git a/src/transportcommands.cpp b/src/transportcommands.cpp
index 9aee32d..6e334d1 100644
--- a/src/transportcommands.cpp
+++ b/src/transportcommands.cpp
@@ -81,7 +81,7 @@
             break;
         case SOL_PARAM_SOL_THRESHOLD:
             *res++ = 0x00;
-            /* Byte 2: Char send thresold: setting this value to 1 means
+            /* Byte 2: Char send threshold: setting this value to 1 means
              * that BMC to send packet as soon as first character arrived.
              */
             *res++ = 0x01;
diff --git a/src/usb-dbg.cpp b/src/usb-dbg.cpp
index e2a0081..5f6a50d 100644
--- a/src/usb-dbg.cpp
+++ b/src/usb-dbg.cpp
@@ -656,7 +656,7 @@
                 *dbus, "xyz.openbmc_project.Logging", path,
                 "xyz.openbmc_project.Logging.Entry", "Severity");
 
-            // Only filter critial sel
+            // Only filter critical sel
             if (std::get<std::string>(variant) !=
                 "xyz.openbmc_project.Logging.Entry.Level.Critical")
             {
