/* Replace link params with the input params */
        rtd->dai_link->params = &in_data->params;
 
-       if (!in_data->fmt)
-               return 0;
-
        return snd_soc_runtime_set_dai_fmt(rtd, in_data->fmt);
 }
 EXPORT_SYMBOL_GPL(meson_codec_glue_output_startup);
 
        unsigned int i;
        int ret;
 
+       if (!dai_fmt)
+               return 0;
+
        for_each_rtd_codec_dais(rtd, i, codec_dai) {
                ret = snd_soc_dai_set_fmt(codec_dai, dai_fmt);
                if (ret != 0 && ret != -ENOTSUPP)
                return ret;
 
        snd_soc_runtime_get_dai_fmt(rtd);
-       if (dai_link->dai_fmt) {
-               ret = snd_soc_runtime_set_dai_fmt(rtd, dai_link->dai_fmt);
-               if (ret)
-                       return ret;
-       }
+       ret = snd_soc_runtime_set_dai_fmt(rtd, dai_link->dai_fmt);
+       if (ret)
+               return ret;
 
        /* add DPCM sysfs entries */
        soc_dpcm_debugfs_add(rtd);