[alsa-devel] [PATCH 2/3] ALSA/NUC900: Fix a while loop bug for nuc900 alsa driver
Liam Girdwood
lrg at slimlogic.co.uk
Tue Jun 1 11:06:42 CEST 2010
On Tue, 2010-06-01 at 10:50 +0800, Wan ZongShun wrote:
> Dear all,
>
> This patch is to fix a while loop bug for nuc900 alsa driver.
Which bug ? It's best to say the bug you are fixing when submitting a
patch like this.
Thanks
Liam
>
> Signed-off-by: Wan ZongShun<mcuos.com at gmail.com>
> ---
> sound/soc/nuc900/nuc900-ac97.c | 10 ++++------
> 1 files changed, 4 insertions(+), 6 deletions(-)
>
> diff --git a/sound/soc/nuc900/nuc900-ac97.c b/sound/soc/nuc900/nuc900-ac97.c
> index 5b864f9..db7fc13 100644
> --- a/sound/soc/nuc900/nuc900-ac97.c
> +++ b/sound/soc/nuc900/nuc900-ac97.c
> @@ -66,9 +66,8 @@ static unsigned short nuc900_ac97_read(struct snd_ac97 *ac97,
> udelay(100);
>
> /* polling the AC_R_FINISH */
> - val = AUDIO_READ(nuc900_audio->mmio + ACTL_ACCON);
> - val &= AC_R_FINISH;
> - while (!val && timeout--)
> + while (!(AUDIO_READ(nuc900_audio->mmio + ACTL_ACCON) & AC_R_FINISH)
> + && timeout--)
> mdelay(1);
>
> if (!timeout) {
> @@ -121,9 +120,8 @@ static void nuc900_ac97_write(struct snd_ac97 *ac97, unsigned
> short reg,
> udelay(100);
>
> /* polling the AC_W_FINISH */
> - tmp = AUDIO_READ(nuc900_audio->mmio + ACTL_ACCON);
> - tmp &= AC_W_FINISH;
> - while (tmp && timeout--)
> + while ((AUDIO_READ(nuc900_audio->mmio + ACTL_ACCON) & AC_W_FINISH)
> + && timeout--)
> mdelay(1);
>
> if (!timeout)
More information about the Alsa-devel
mailing list