diff --git a/[refs] b/[refs] index a101563d2a5f..ae042025fe56 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d5e9ba1d58b6da1c58a91113fc350ece97ec5a0b +refs/heads/master: c85e5a4161b4768599deaee7a5df3ded9c34ea3b diff --git a/trunk/sound/soc/soc-core.c b/trunk/sound/soc/soc-core.c index 580a1a534ad0..d4b90d82a098 100644 --- a/trunk/sound/soc/soc-core.c +++ b/trunk/sound/soc/soc-core.c @@ -1382,7 +1382,10 @@ int snd_soc_init_card(struct snd_soc_device *socdev) mutex_lock(&codec->mutex); #ifdef CONFIG_SND_SOC_AC97_BUS - if (ac97) { + /* Only instantiate AC97 if not already done by the adaptor + * for the generic AC97 subsystem. + */ + if (ac97 && strcmp(codec->name, "AC97") != 0) { ret = soc_ac97_dev_register(codec); if (ret < 0) { printk(KERN_ERR "asoc: AC97 device register failed\n");