Skip to content

Commit

Permalink
ASoC: Simplify pm860x_probe error handling
Browse files Browse the repository at this point in the history
Simplify pm860x_probe error handling and return actual error code we got.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
  • Loading branch information
Axel Lin authored and Mark Brown committed Nov 30, 2010
1 parent c8d6bf9 commit 5511027
Showing 1 changed file with 5 additions and 7 deletions.
12 changes: 5 additions & 7 deletions sound/soc/codecs/88pm860x-codec.c
Original file line number Diff line number Diff line change
Expand Up @@ -1358,7 +1358,7 @@ static int pm860x_probe(struct snd_soc_codec *codec)
pm860x->name[i], pm860x);
if (ret < 0) {
dev_err(codec->dev, "Failed to request IRQ!\n");
goto out_irq;
goto out;
}
}

Expand All @@ -1369,7 +1369,7 @@ static int pm860x_probe(struct snd_soc_codec *codec)
if (ret < 0) {
dev_err(codec->dev, "Failed to fill register cache: %d\n",
ret);
goto out_codec;
goto out;
}

snd_soc_add_controls(codec, pm860x_snd_controls,
Expand All @@ -1379,12 +1379,10 @@ static int pm860x_probe(struct snd_soc_codec *codec)
snd_soc_dapm_add_routes(dapm, audio_map, ARRAY_SIZE(audio_map));
return 0;

out_codec:
i = 3;
out_irq:
for (; i >= 0; i--)
out:
while (--i >= 0)
free_irq(pm860x->irq[i], pm860x);
return -EINVAL;
return ret;
}

static int pm860x_remove(struct snd_soc_codec *codec)
Expand Down

0 comments on commit 5511027

Please sign in to comment.