From 215efc594e00a1419915bf37e5643418a0367c20 Mon Sep 17 00:00:00 2001 From: Harsha Priya Date: Wed, 5 Jan 2011 11:34:51 +0530 Subject: [PATCH] --- yaml --- r: 230461 b: refs/heads/master c: f6c2ed5dd6ab43447dacc136585fc894e3f3a82d h: refs/heads/master i: 230459: 7ac9b700b982eb2d29ac87021d8932fd86f178e1 v: v3 --- [refs] | 2 +- trunk/sound/soc/soc-core.c | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/[refs] b/[refs] index 4827a4bdfb4e..44d2dddcd40a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 5e79d64b038ae0039663f721f4b9f5ce1951d9da +refs/heads/master: f6c2ed5dd6ab43447dacc136585fc894e3f3a82d diff --git a/trunk/sound/soc/soc-core.c b/trunk/sound/soc/soc-core.c index a233607a73c6..bac7291b6ff6 100644 --- a/trunk/sound/soc/soc-core.c +++ b/trunk/sound/soc/soc-core.c @@ -1259,9 +1259,6 @@ static int soc_bind_dai_link(struct snd_soc_card *card, int num) if (!strcmp(codec->name, dai_link->codec_name)) { rtd->codec = codec; - if (!try_module_get(codec->dev->driver->owner)) - return -ENODEV; - /* CODEC found, so find CODEC DAI from registered DAIs from this CODEC*/ list_for_each_entry(codec_dai, &dai_list, list) { if (codec->dev == codec_dai->dev && @@ -1287,10 +1284,6 @@ static int soc_bind_dai_link(struct snd_soc_card *card, int num) /* no, then find CPU DAI from registered DAIs*/ list_for_each_entry(platform, &platform_list, list) { if (!strcmp(platform->name, dai_link->platform_name)) { - - if (!try_module_get(platform->dev->driver->owner)) - return -ENODEV; - rtd->platform = platform; goto out; } @@ -1425,6 +1418,9 @@ static int soc_probe_codec(struct snd_soc_card *card, soc_init_codec_debugfs(codec); /* mark codec as probed and add to card codec list */ + if (!try_module_get(codec->dev->driver->owner)) + return -ENODEV; + codec->probed = 1; list_add(&codec->card_list, &card->codec_dev_list); list_add(&codec->dapm.list, &card->dapm_list); @@ -1556,6 +1552,10 @@ static int soc_probe_dai_link(struct snd_soc_card *card, int num) } } /* mark platform as probed and add to card platform list */ + + if (!try_module_get(platform->dev->driver->owner)) + return -ENODEV; + platform->probed = 1; list_add(&platform->card_list, &card->platform_dev_list); }