diff --git a/src/whitelist-filter.cpp b/src/whitelist-filter.cpp
index 099362c..f8c349d 100644
--- a/src/whitelist-filter.cpp
+++ b/src/whitelist-filter.cpp
@@ -54,6 +54,7 @@
 
     RestrictionMode::Modes restrictionMode = restrictionModeRestricted;
     bool postCompleted = false;
+    int channelSMM = -1;
     std::shared_ptr<sdbusplus::asio::connection> bus;
     std::unique_ptr<sdbusplus::bus::match::match> modeChangeMatch;
     std::unique_ptr<sdbusplus::bus::match::match> modeIntfAddedMatch;
@@ -66,6 +67,30 @@
         "xyz.openbmc_project.State.OperatingSystem.Status";
 };
 
+static inline uint8_t getSMMChannel()
+{
+    ipmi::ChannelInfo chInfo;
+
+    for (int channel = 0; channel < ipmi::maxIpmiChannels; channel++)
+    {
+        if (ipmi::getChannelInfo(channel, chInfo) != ipmi::ccSuccess)
+        {
+            continue;
+        }
+
+        if (static_cast<ipmi::EChannelMediumType>(chInfo.mediumType) ==
+                ipmi::EChannelMediumType::systemInterface &&
+            channel != ipmi::channelSystemIface)
+        {
+            log<level::INFO>("SMM channel number",
+                             entry("CHANNEL=%d", channel));
+            return channel;
+        }
+    }
+    log<level::ERR>("Unable to find SMM Channel Info");
+    return -1;
+}
+
 WhitelistFilter::WhitelistFilter()
 {
     bus = getSdBus();
@@ -77,6 +102,7 @@
                              return filterMessage(request);
                          });
 
+    channelSMM = getSMMChannel();
     // wait until io->run is going to fetch RestrictionMode
     post_work([this]() { postInit(); });
 }
@@ -307,7 +333,8 @@
         });
 
     // no special handling for non-system-interface channels
-    if (request->ctx->channel != ipmi::channelSystemIface)
+    if (!(request->ctx->channel == ipmi::channelSystemIface ||
+          request->ctx->channel == channelSMM))
     {
         if (!whitelisted)
         {
