summaryrefslogtreecommitdiffstats
path: root/sound/soc/soc-core.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2019-04-13 10:09:40 +0200
committerTakashi Iwai <tiwai@suse.de>2019-04-13 10:09:46 +0200
commit99fff44fe339b21c6a4ddd6c1239e587dd439cd3 (patch)
tree132e59f06c467786f21b9b67a5a031936850b384 /sound/soc/soc-core.c
parent6b580f523172f2c738b661069a57c23c74a75f88 (diff)
parent183ab39eb0ea9879bb68422a83e65f750f3192f0 (diff)
downloadlinux-99fff44fe339b21c6a4ddd6c1239e587dd439cd3.tar.gz
linux-99fff44fe339b21c6a4ddd6c1239e587dd439cd3.tar.bz2
linux-99fff44fe339b21c6a4ddd6c1239e587dd439cd3.zip
Merge branch 'for-linus' into for-next
Back-merge the 5.1 devel branch for the further HD-audio development. Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/soc/soc-core.c')
-rw-r--r--sound/soc/soc-core.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index 93d316d5bf8e..46e3ab0fced4 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -947,7 +947,7 @@ static void soc_cleanup_component(struct snd_soc_component *component)
snd_soc_dapm_free(snd_soc_component_get_dapm(component));
soc_cleanup_component_debugfs(component);
component->card = NULL;
- if (!component->driver->ignore_module_refcount)
+ if (!component->driver->module_get_upon_open)
module_put(component->dev->driver->owner);
}
@@ -1381,7 +1381,7 @@ static int soc_probe_component(struct snd_soc_card *card,
return 0;
}
- if (!component->driver->ignore_module_refcount &&
+ if (!component->driver->module_get_upon_open &&
!try_module_get(component->dev->driver->owner))
return -ENODEV;
@@ -2797,6 +2797,7 @@ int snd_soc_register_card(struct snd_soc_card *card)
ret = soc_init_dai_link(card, link);
if (ret) {
+ soc_cleanup_platform(card);
dev_err(card->dev, "ASoC: failed to init link %s\n",
link->name);
mutex_unlock(&client_mutex);
@@ -2819,6 +2820,7 @@ int snd_soc_register_card(struct snd_soc_card *card)
card->instantiated = 0;
mutex_init(&card->mutex);
mutex_init(&card->dapm_mutex);
+ spin_lock_init(&card->dpcm_lock);
return snd_soc_bind_card(card);
}