From: Richard Fitzgerald Date: Mon, 31 Jul 2023 16:57:25 +0000 (+0100) Subject: ALSA: hda/cs35l56: Fail if .bin not found and firmware not patched X-Git-Tag: v6.6.17~3959^2~15^2~74 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3106797d2b0b09e7a27f09fac329f1d6e9b35270;p=platform%2Fkernel%2Flinux-rpi.git ALSA: hda/cs35l56: Fail if .bin not found and firmware not patched A tuning patch is always needed to enable the ASP audio port. If the BIOS did not patch the firmware, then it is mandatory to have a .bin file. Signed-off-by: Richard Fitzgerald Link: https://lore.kernel.org/r/20230731165726.7940-9-rf@opensource.cirrus.com Signed-off-by: Takashi Iwai --- diff --git a/sound/pci/hda/cs35l56_hda.c b/sound/pci/hda/cs35l56_hda.c index 8f1665d..0047405 100644 --- a/sound/pci/hda/cs35l56_hda.c +++ b/sound/pci/hda/cs35l56_hda.c @@ -555,6 +555,16 @@ static int cs35l56_hda_fw_load(struct cs35l56_hda *cs35l56) &coeff_firmware, &coeff_filename); } + /* + * If the BIOS didn't patch the firmware a bin file is mandatory to + * enable the ASP· + */ + if (!coeff_firmware && firmware_missing) { + dev_err(cs35l56->base.dev, ".bin file required but not found\n"); + ret = -ENOENT; + goto err_fw_release; + } + mutex_lock(&cs35l56->base.irq_lock); /* @@ -615,7 +625,7 @@ err_powered_up: cs_dsp_power_down(&cs35l56->cs_dsp); err: mutex_unlock(&cs35l56->base.irq_lock); - +err_fw_release: cs35l56_hda_release_firmware_files(wmfw_firmware, wmfw_filename, coeff_firmware, coeff_filename); err_pm_put: