Change the fw_state to SOF_FW_BOOT_FAILED if we encountered an error during
booting the firmware.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Link: https://lore.kernel.org/r/20211223113628.18582-13-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
 
        if (ret < 0) {
                dev_err(sdev->dev, "error: failed to load DSP firmware %d\n",
                        ret);
+               sof_set_fw_state(sdev, SOF_FW_BOOT_FAILED);
                goto fw_load_err;
        }
 
        if (ret < 0) {
                dev_err(sdev->dev, "error: failed to boot DSP firmware %d\n",
                        ret);
+               sof_set_fw_state(sdev, SOF_FW_BOOT_FAILED);
                goto fw_run_err;
        }
 
 
                snd_sof_dsp_dbg_dump(sdev, "Firmware boot failure due to timeout",
                                     SOF_DBG_DUMP_REGS | SOF_DBG_DUMP_MBOX |
                                     SOF_DBG_DUMP_TEXT | SOF_DBG_DUMP_PCI);
-               sof_set_fw_state(sdev, SOF_FW_BOOT_FAILED);
                return -EIO;
        }
 
 
                dev_err(sdev->dev,
                        "error: failed to load DSP firmware after resume %d\n",
                        ret);
+               sof_set_fw_state(sdev, SOF_FW_BOOT_FAILED);
                return ret;
        }
 
                dev_err(sdev->dev,
                        "error: failed to boot DSP firmware after resume %d\n",
                        ret);
+               sof_set_fw_state(sdev, SOF_FW_BOOT_FAILED);
                return ret;
        }