mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-29 23:53:32 +00:00
ALSA: hda/tas2781: Fix PM refcount unbalance at tas2781_hda_bind()
The error path of tas2781_hda_bind() needs to release PM refcount as
well. Modify the code flow to handle properly.
Fixes: 5be27f1e3e
("ALSA: hda/tas2781: Add tas2781 HDA driver")
Reported-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Closes: https://lore.kernel.org/r/9f910785-e856-1539-e3e4-c9817af5fe67@linux.intel.com
Link: https://lore.kernel.org/r/20230820172635.22236-2-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
1c80cc055b
commit
17a1eab7b7
1 changed files with 3 additions and 5 deletions
|
@ -608,15 +608,13 @@ static int tas2781_hda_bind(struct device *dev, struct device *master,
|
||||||
strscpy(comps->name, dev_name(dev), sizeof(comps->name));
|
strscpy(comps->name, dev_name(dev), sizeof(comps->name));
|
||||||
|
|
||||||
ret = tascodec_init(tas_priv, codec, tasdev_fw_ready);
|
ret = tascodec_init(tas_priv, codec, tasdev_fw_ready);
|
||||||
if (ret)
|
if (!ret)
|
||||||
return ret;
|
comps->playback_hook = tas2781_hda_playback_hook;
|
||||||
|
|
||||||
comps->playback_hook = tas2781_hda_playback_hook;
|
|
||||||
|
|
||||||
pm_runtime_mark_last_busy(dev);
|
pm_runtime_mark_last_busy(dev);
|
||||||
pm_runtime_put_autosuspend(dev);
|
pm_runtime_put_autosuspend(dev);
|
||||||
|
|
||||||
return 0;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void tas2781_hda_unbind(struct device *dev,
|
static void tas2781_hda_unbind(struct device *dev,
|
||||||
|
|
Loading…
Reference in a new issue