At Fri, 13 Jun 2008 15:39:12 +0100, Mark Brown wrote: > > To provide added robustness in case an AC97 controller reads back all > zeros in error cases check for an exact match when testing to see if > resets have brought the codec back. > > Signed-off-by: Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx> > --- > sound/soc/codecs/wm9712.c | 4 ++-- > sound/soc/codecs/wm9713.c | 4 ++-- > 2 files changed, 4 insertions(+), 4 deletions(-) > > diff --git a/sound/soc/codecs/wm9712.c b/sound/soc/codecs/wm9712.c > index 28ac66f..09e2985 100644 > --- a/sound/soc/codecs/wm9712.c > +++ b/sound/soc/codecs/wm9712.c > @@ -589,12 +589,12 @@ static int wm9712_reset(struct snd_soc_codec *codec, int try_warm) > { > if (try_warm && soc_ac97_ops.warm_reset) { > soc_ac97_ops.warm_reset(codec->ac97); > - if (!(ac97_read(codec, 0) & 0x8000)) > + if (ac97_read(codec, 0) == 0x6174) > return 1; > } > > soc_ac97_ops.reset(codec->ac97); > - if (ac97_read(codec, 0) & 0x8000) > + if (ac97_read(codec, 0) != 0x6174) Can we define this magic value more understandable? > goto err; > return 0; > > diff --git a/sound/soc/codecs/wm9713.c b/sound/soc/codecs/wm9713.c > index aba3301..131bb5b 100644 > --- a/sound/soc/codecs/wm9713.c > +++ b/sound/soc/codecs/wm9713.c > @@ -1076,12 +1076,12 @@ int wm9713_reset(struct snd_soc_codec *codec, int try_warm) > { > if (try_warm && soc_ac97_ops.warm_reset) { > soc_ac97_ops.warm_reset(codec->ac97); > - if (!(ac97_read(codec, 0) & 0x8000)) > + if (ac97_read(codec, 0) == 0x6174) > return 1; > } > > soc_ac97_ops.reset(codec->ac97); > - if (ac97_read(codec, 0) & 0x8000) > + if (ac97_read(codec, 0) != 0x6174) Ditto. thanks, Takashi _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel