[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