ALSA: hda: cs35l56: Set the init_done flag before component_add()
authorSimon Trimmer <simont@opensource.cirrus.com>
Mon, 25 Mar 2024 14:55:10 +0000 (14:55 +0000)
committerTakashi Iwai <tiwai@suse.de>
Mon, 25 Mar 2024 16:19:46 +0000 (17:19 +0100)
Initialization is completed before adding the component as that can
start the process of the device binding and trigger actions that check
init_done.

Signed-off-by: Simon Trimmer <simont@opensource.cirrus.com>
Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Fixes: 73cfbfa9caea ("ALSA: hda/cs35l56: Add driver for Cirrus Logic CS35L56 amplifier")
Message-ID: <20240325145510.328378-1-rf@opensource.cirrus.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/cs35l56_hda.c

index f3c5715f5e0238be52ebdefc44476f28606dfe0a..1a3f84599cb584331f9766ca6bd5b00bacaa580d 100644 (file)
@@ -1045,14 +1045,14 @@ int cs35l56_hda_common_probe(struct cs35l56_hda *cs35l56, int hid, int id)
        pm_runtime_mark_last_busy(cs35l56->base.dev);
        pm_runtime_enable(cs35l56->base.dev);
 
+       cs35l56->base.init_done = true;
+
        ret = component_add(cs35l56->base.dev, &cs35l56_hda_comp_ops);
        if (ret) {
                dev_err(cs35l56->base.dev, "Register component failed: %d\n", ret);
                goto pm_err;
        }
 
-       cs35l56->base.init_done = true;
-
        return 0;
 
 pm_err: