ASoC: Fix module refcount for auxiliary devices
authorJarkko Nikula <jhnikula@gmail.com>
Wed, 26 Jan 2011 14:39:37 +0000 (16:39 +0200)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Wed, 26 Jan 2011 20:26:54 +0000 (20:26 +0000)
Commit f6c2ed5 "ASoC: Fix the device references to codec and platform drivers"
moved codec driver refcount increments from soc_bind_dai_link into
soc_probe_codec.

However, the commit didn't remove try_module_get from soc_probe_aux_dev so
the auxiliary device reference counts are incremented twice as the
soc_probe_codec is called from soc_probe_aux_dev too.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
sound/soc/soc-core.c

index bac7291b6ff625a131d461bd8e5123814bfb961d..c4b60610beb002b04f1e8d81aeb12bc8c9f2b82c 100644 (file)
@@ -1664,9 +1664,6 @@ static int soc_probe_aux_dev(struct snd_soc_card *card, int num)
        goto out;
 
 found:
        goto out;
 
 found:
-       if (!try_module_get(codec->dev->driver->owner))
-               return -ENODEV;
-
        ret = soc_probe_codec(card, codec);
        if (ret < 0)
                return ret;
        ret = soc_probe_codec(card, codec);
        if (ret < 0)
                return ret;