2024-05-31 11:28:07

by Simon Trimmer

[permalink] [raw]
Subject: [PATCH] ALSA: hda: cs35l56: Fix lifecycle of codec pointer

The codec should be cleared when the amp driver is unbound and when
resuming it should be tested to prevent loading firmware into the device
and ALSA in a partially configured system state.

Signed-off-by: Simon Trimmer <[email protected]>
---
sound/pci/hda/cs35l56_hda.c | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/sound/pci/hda/cs35l56_hda.c b/sound/pci/hda/cs35l56_hda.c
index 11b0570ff56d..0923e2589f5f 100644
--- a/sound/pci/hda/cs35l56_hda.c
+++ b/sound/pci/hda/cs35l56_hda.c
@@ -735,6 +735,8 @@ static void cs35l56_hda_unbind(struct device *dev, struct device *master, void *
if (comps[cs35l56->index].dev == dev)
memset(&comps[cs35l56->index], 0, sizeof(*comps));

+ cs35l56->codec = NULL;
+
dev_dbg(cs35l56->base.dev, "Unbound\n");
}

@@ -840,6 +842,9 @@ static int cs35l56_hda_system_resume(struct device *dev)

cs35l56->suspended = false;

+ if (!cs35l56->codec)
+ return 0;
+
ret = cs35l56_is_fw_reload_needed(&cs35l56->base);
dev_dbg(cs35l56->base.dev, "fw_reload_needed: %d\n", ret);
if (ret > 0) {
--
2.34.1



2024-05-31 12:40:31

by Takashi Iwai

[permalink] [raw]
Subject: Re: [PATCH] ALSA: hda: cs35l56: Fix lifecycle of codec pointer

On Fri, 31 May 2024 13:27:16 +0200,
Simon Trimmer wrote:
>
> The codec should be cleared when the amp driver is unbound and when
> resuming it should be tested to prevent loading firmware into the device
> and ALSA in a partially configured system state.
>
> Signed-off-by: Simon Trimmer <[email protected]>

Thanks, applied.


Takashi