]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 10 Apr 2024 14:35:41 +0000 (16:35 +0200)
[ Upstream commit cafe9c6a72cf1ffe96d2561d988a141cb5c093db ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
sound/pci/hda/cs35l56_hda.c

index 7adc1d373d65c377cf2db29f4a6bb63b57db0bb4..27848d646963618708b9ae65d4840f43bb65e543 100644 (file)
@@ -978,14 +978,14 @@ int cs35l56_hda_common_probe(struct cs35l56_hda *cs35l56, 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: