ASoC: SOF: loader: fix kernel oops on firmware boot failure
When we fail to boot the firmware, we encounter a kernel oops in hda_dsp_get_registers(), which is called conditionally in hda_dsp_dump() when the sdev_>boot_complete flag is set. Setting this flag _after_ dumping the data fixes the issue and does not change the programming flow. Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20190927200538.660-2-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
9daf4fd030
commit
798614885a
|
@ -546,10 +546,10 @@ int snd_sof_run_firmware(struct snd_sof_dev *sdev)
|
||||||
msecs_to_jiffies(sdev->boot_timeout));
|
msecs_to_jiffies(sdev->boot_timeout));
|
||||||
if (ret == 0) {
|
if (ret == 0) {
|
||||||
dev_err(sdev->dev, "error: firmware boot failure\n");
|
dev_err(sdev->dev, "error: firmware boot failure\n");
|
||||||
/* after this point FW_READY msg should be ignored */
|
|
||||||
sdev->boot_complete = true;
|
|
||||||
snd_sof_dsp_dbg_dump(sdev, SOF_DBG_REGS | SOF_DBG_MBOX |
|
snd_sof_dsp_dbg_dump(sdev, SOF_DBG_REGS | SOF_DBG_MBOX |
|
||||||
SOF_DBG_TEXT | SOF_DBG_PCI);
|
SOF_DBG_TEXT | SOF_DBG_PCI);
|
||||||
|
/* after this point FW_READY msg should be ignored */
|
||||||
|
sdev->boot_complete = true;
|
||||||
return -EIO;
|
return -EIO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue