snd_soc_dpcm_get_substream(fe, stream);
        struct snd_soc_dpcm *dpcm;
        enum snd_soc_dpcm_trigger trigger = fe->dai_link->trigger[stream];
-       int ret;
+       int ret = 0;
        unsigned long flags;
 
        dev_dbg(fe->dev, "ASoC: runtime %s open on FE %s\n",
        /* Only start the BE if the FE is ready */
        if (fe->dpcm[stream].state == SND_SOC_DPCM_STATE_HW_FREE ||
                fe->dpcm[stream].state == SND_SOC_DPCM_STATE_CLOSE) {
+               ret = -EINVAL;
                dev_err(fe->dev, "ASoC: FE %s is not ready %d\n",
                        fe->dai_link->name, fe->dpcm[stream].state);
                goto disconnect;