ASoC: fix config error path
authorLu Guanqun <guanqun.lu@intel.com>
Wed, 6 Apr 2011 15:25:21 +0000 (23:25 +0800)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Wed, 6 Apr 2011 23:25:45 +0000 (08:25 +0900)
initialize ret to invalid value so that when we reach the config error path in
soc_pcm_open, it will return the correct error code. without this patch, though
config error path is executed, soc_pcm_open will return 0 in
snd_pcm_open_substream and then cause double release of substream.

Signed-off-by: Lu Guanqun <guanqun.lu@intel.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
sound/soc/soc-core.c

index 4f42fef26c989f259b499bc8686609dc0e4e9bff..d8562ce4de7ab9ea5796e0521261fe520d8a3330 100644 (file)
@@ -629,6 +629,7 @@ static int soc_pcm_open(struct snd_pcm_substream *substream)
                        runtime->hw.rates |= codec_dai_drv->capture.rates;
        }
 
+       ret = -EINVAL;
        snd_pcm_limit_hw_rates(runtime);
        if (!runtime->hw.rates) {
                printk(KERN_ERR "asoc: %s <-> %s No matching rates\n",