diff options
author | Richard Fitzgerald <rf@opensource.cirrus.com> | 2023-07-31 18:57:25 +0200 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2023-08-01 08:30:08 +0200 |
commit | 3106797d2b0b09e7a27f09fac329f1d6e9b35270 (patch) | |
tree | 734ae8599b88526774fa8d831a49b6b6536540da | |
parent | ALSA: hda/cs35l56: Do not download firmware over existing RAM firmware (diff) | |
download | linux-3106797d2b0b09e7a27f09fac329f1d6e9b35270.tar.xz linux-3106797d2b0b09e7a27f09fac329f1d6e9b35270.zip |
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 <rf@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20230731165726.7940-9-rf@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r-- | sound/pci/hda/cs35l56_hda.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/sound/pci/hda/cs35l56_hda.c b/sound/pci/hda/cs35l56_hda.c index 8f1665d38c92..004740509dbd 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: |