OSDN Git Service
(root)
/
tomoyo
/
tomoyo-test1.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
1c80cc0
)
ALSA: hda/tas2781: Fix PM refcount unbalance at tas2781_hda_bind()
author
Takashi Iwai
<tiwai@suse.de>
Sun, 20 Aug 2023 17:26:35 +0000
(19:26 +0200)
committer
Takashi Iwai
<tiwai@suse.de>
Mon, 21 Aug 2023 14:20:55 +0000
(16:20 +0200)
The error path of tas2781_hda_bind() needs to release PM refcount as
well. Modify the code flow to handle properly.
Fixes:
5be27f1e3ec9
("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>
sound/pci/hda/tas2781_hda_i2c.c
patch
|
blob
|
history
diff --git
a/sound/pci/hda/tas2781_hda_i2c.c
b/sound/pci/hda/tas2781_hda_i2c.c
index
0968ae9
..
aa9ce38
100644
(file)
--- a/
sound/pci/hda/tas2781_hda_i2c.c
+++ b/
sound/pci/hda/tas2781_hda_i2c.c
@@
-608,15
+608,13
@@
static int tas2781_hda_bind(struct device *dev, struct device *master,
strscpy(comps->name, dev_name(dev), sizeof(comps->name));
ret = tascodec_init(tas_priv, codec, tasdev_fw_ready);
- if (ret)
- return ret;
-
- comps->playback_hook = tas2781_hda_playback_hook;
+ if (!ret)
+ comps->playback_hook = tas2781_hda_playback_hook;
pm_runtime_mark_last_busy(dev);
pm_runtime_put_autosuspend(dev);
- return
0
;
+ return
ret
;
}
static void tas2781_hda_unbind(struct device *dev,