[alsa-devel] [PATCH 1/1] driver/snd: es18xx driver should use udelay error

Takashi Iwai tiwai at suse.de
Mon Apr 14 11:46:59 CEST 2014


At Mon, 14 Apr 2014 17:41:32 +0800,
Li, Zhen-Hua wrote:
> 
> From: "Li, Zhen-Hua" <zhen-hual at hp.com>
> 
> udelay with more than 20000 may cause __bad_udelay.
> Use mdelay for instead.
> 
> Signed-off-by: Li, Zhen-Hua <zhen-hual at hp.com>

Thanks, applied.


Takashi

> ---
>  sound/isa/es18xx.c |   10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/sound/isa/es18xx.c b/sound/isa/es18xx.c
> index 1c16830..8d3a3b6 100644
> --- a/sound/isa/es18xx.c
> +++ b/sound/isa/es18xx.c
> @@ -520,7 +520,7 @@ static int snd_es18xx_playback1_trigger(struct snd_es18xx *chip,
>  			snd_es18xx_mixer_write(chip, 0x78, 0x93);
>  #ifdef AVOID_POPS
>  		/* Avoid pops */
> -                udelay(100000);
> +		mudelay(100);
>  		if (chip->caps & ES18XX_PCM2)
>  			/* Restore Audio 2 volume */
>  			snd_es18xx_mixer_write(chip, 0x7C, chip->audio2_vol);
> @@ -537,7 +537,7 @@ static int snd_es18xx_playback1_trigger(struct snd_es18xx *chip,
>                  /* Stop DMA */
>                  snd_es18xx_mixer_write(chip, 0x78, 0x00);
>  #ifdef AVOID_POPS
> -                udelay(25000);
> +		mdelay(25);
>  		if (chip->caps & ES18XX_PCM2)
>  			/* Set Audio 2 volume to 0 */
>  			snd_es18xx_mixer_write(chip, 0x7C, 0);
> @@ -596,7 +596,7 @@ static int snd_es18xx_capture_prepare(struct snd_pcm_substream *substream)
>  	snd_es18xx_write(chip, 0xA5, count >> 8);
>  
>  #ifdef AVOID_POPS
> -	udelay(100000);
> +	mdelay(100);
>  #endif
>  
>          /* Set format */
> @@ -691,7 +691,7 @@ static int snd_es18xx_playback2_trigger(struct snd_es18xx *chip,
>                  snd_es18xx_write(chip, 0xB8, 0x05);
>  #ifdef AVOID_POPS
>  		/* Avoid pops */
> -                udelay(100000);
> +		mdelay(100);
>                  /* Enable Audio 1 */
>                  snd_es18xx_dsp_command(chip, 0xD1);
>  #endif
> @@ -705,7 +705,7 @@ static int snd_es18xx_playback2_trigger(struct snd_es18xx *chip,
>                  snd_es18xx_write(chip, 0xB8, 0x00);
>  #ifdef AVOID_POPS
>  		/* Avoid pops */
> -                udelay(25000);
> +		mdelay(25);
>                  /* Disable Audio 1 */
>                  snd_es18xx_dsp_command(chip, 0xD3);
>  #endif
> -- 
> 1.7.10.4
> 


More information about the Alsa-devel mailing list