smu_minor = (smu_version >> 8) & 0xff;
        smu_debug = (smu_version >> 0) & 0xff;
 
-
+       /*
+        * 1. if_version mismatch is not critical as our fw is designed
+        * to be backward compatible.
+        * 2. New fw usually brings some optimizations. But that's visible
+        * only on the paired driver.
+        * Considering above, we just leave user a warning message instead
+        * of halt driver loading.
+        */
        if (if_version != smu->smc_if_version) {
                pr_info("smu driver if version = 0x%08x, smu fw if version = 0x%08x, "
                        "smu fw version = 0x%08x (%d.%d.%d)\n",
                        smu->smc_if_version, if_version,
                        smu_version, smu_major, smu_minor, smu_debug);
-               pr_err("SMU driver if version not matched\n");
-               ret = -EINVAL;
+               pr_warn("SMU driver if version not matched\n");
        }
 
        return ret;