Skip to content

Commit

Permalink
ASoC: ad1980: Return proper error if vendor id mismatch
Browse files Browse the repository at this point in the history
Return -ENODEV instead of 0 if vendor id mismatch.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
  • Loading branch information
Axel Lin authored and Mark Brown committed Sep 8, 2011
1 parent 3ed4646 commit 0f73644
Showing 1 changed file with 7 additions and 3 deletions.
10 changes: 7 additions & 3 deletions sound/soc/codecs/ad1980.c
Original file line number Diff line number Diff line change
Expand Up @@ -200,18 +200,22 @@ static int ad1980_soc_probe(struct snd_soc_codec *codec)
}

/* Read out vendor ID to make sure it is ad1980 */
if (ac97_read(codec, AC97_VENDOR_ID1) != 0x4144)
if (ac97_read(codec, AC97_VENDOR_ID1) != 0x4144) {
ret = -ENODEV;
goto reset_err;
}

vendor_id2 = ac97_read(codec, AC97_VENDOR_ID2);

if (vendor_id2 != 0x5370) {
if (vendor_id2 != 0x5374)
if (vendor_id2 != 0x5374) {
ret = -ENODEV;
goto reset_err;
else
} else {
printk(KERN_WARNING "ad1980: "
"Found AD1981 - only 2/2 IN/OUT Channels "
"supported\n");
}
}

/* unmute captures and playbacks volume */
Expand Down

0 comments on commit 0f73644

Please sign in to comment.