diff options
-rw-r--r-- | sound/soc/soc-core.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c index a233607a73c6..bac7291b6ff6 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c | |||
@@ -1259,9 +1259,6 @@ find_codec: | |||
1259 | if (!strcmp(codec->name, dai_link->codec_name)) { | 1259 | if (!strcmp(codec->name, dai_link->codec_name)) { |
1260 | rtd->codec = codec; | 1260 | rtd->codec = codec; |
1261 | 1261 | ||
1262 | if (!try_module_get(codec->dev->driver->owner)) | ||
1263 | return -ENODEV; | ||
1264 | |||
1265 | /* CODEC found, so find CODEC DAI from registered DAIs from this CODEC*/ | 1262 | /* CODEC found, so find CODEC DAI from registered DAIs from this CODEC*/ |
1266 | list_for_each_entry(codec_dai, &dai_list, list) { | 1263 | list_for_each_entry(codec_dai, &dai_list, list) { |
1267 | if (codec->dev == codec_dai->dev && | 1264 | if (codec->dev == codec_dai->dev && |
@@ -1287,10 +1284,6 @@ find_platform: | |||
1287 | /* no, then find CPU DAI from registered DAIs*/ | 1284 | /* no, then find CPU DAI from registered DAIs*/ |
1288 | list_for_each_entry(platform, &platform_list, list) { | 1285 | list_for_each_entry(platform, &platform_list, list) { |
1289 | if (!strcmp(platform->name, dai_link->platform_name)) { | 1286 | if (!strcmp(platform->name, dai_link->platform_name)) { |
1290 | |||
1291 | if (!try_module_get(platform->dev->driver->owner)) | ||
1292 | return -ENODEV; | ||
1293 | |||
1294 | rtd->platform = platform; | 1287 | rtd->platform = platform; |
1295 | goto out; | 1288 | goto out; |
1296 | } | 1289 | } |
@@ -1425,6 +1418,9 @@ static int soc_probe_codec(struct snd_soc_card *card, | |||
1425 | soc_init_codec_debugfs(codec); | 1418 | soc_init_codec_debugfs(codec); |
1426 | 1419 | ||
1427 | /* mark codec as probed and add to card codec list */ | 1420 | /* mark codec as probed and add to card codec list */ |
1421 | if (!try_module_get(codec->dev->driver->owner)) | ||
1422 | return -ENODEV; | ||
1423 | |||
1428 | codec->probed = 1; | 1424 | codec->probed = 1; |
1429 | list_add(&codec->card_list, &card->codec_dev_list); | 1425 | list_add(&codec->card_list, &card->codec_dev_list); |
1430 | list_add(&codec->dapm.list, &card->dapm_list); | 1426 | 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) | |||
1556 | } | 1552 | } |
1557 | } | 1553 | } |
1558 | /* mark platform as probed and add to card platform list */ | 1554 | /* mark platform as probed and add to card platform list */ |
1555 | |||
1556 | if (!try_module_get(platform->dev->driver->owner)) | ||
1557 | return -ENODEV; | ||
1558 | |||
1559 | platform->probed = 1; | 1559 | platform->probed = 1; |
1560 | list_add(&platform->card_list, &card->platform_dev_list); | 1560 | list_add(&platform->card_list, &card->platform_dev_list); |
1561 | } | 1561 | } |