[alsa-devel] [PATCH (alsa-plugins)] a52: Propagate errors from hw

Takashi Iwai tiwai at suse.de
Sun Jan 5 11:40:39 CET 2014


At Wed,  1 Jan 2014 13:17:38 +0100,
David Henningsson wrote:
> 
> Several callbacks returned 0 even though the hw was failing, leading
> applications to believe everything was fine when it wasn't.
> 
> Signed-off-by: David Henningsson <david.henningsson at canonical.com>

Thanks, applied.


Takashi


> ---
>  a52/pcm_a52.c | 12 +++++-------
>  1 file changed, 5 insertions(+), 7 deletions(-)
> 
> diff --git a/a52/pcm_a52.c b/a52/pcm_a52.c
> index 7188809..59a49ed 100644
> --- a/a52/pcm_a52.c
> +++ b/a52/pcm_a52.c
> @@ -195,8 +195,8 @@ static int a52_drain(snd_pcm_ioplug_t *io)
>  	err = write_out_pending(io, rec);
>  	if (err < 0)
>  		return err;
> -	snd_pcm_drain(rec->slave);
> -	return 0;
> +	
> +	return snd_pcm_drain(rec->slave);
>  }
>  
>  /* check whether the areas consist of a continuous interleaved stream */
> @@ -479,16 +479,14 @@ static int a52_start(snd_pcm_ioplug_t *io)
>  {
>  	struct a52_ctx *rec = io->private_data;
>  
> -	snd_pcm_start(rec->slave);
> -	return 0;
> +	return snd_pcm_start(rec->slave);
>  }
>  
>  static int a52_stop(snd_pcm_ioplug_t *io)
>  {
>  	struct a52_ctx *rec = io->private_data;
>  
> -	snd_pcm_drop(rec->slave);
> -	return 0;
> +	return snd_pcm_drop(rec->slave);
>  }
>  
>  /* release resources */
> @@ -645,7 +643,7 @@ static int a52_close(snd_pcm_ioplug_t *io)
>  
>  	a52_free(rec);
>  	if (rec->slave)
> -		snd_pcm_close(rec->slave);
> +		return snd_pcm_close(rec->slave);
>  	return 0;
>  }
>  			      
> -- 
> 1.8.4.2
> 


More information about the Alsa-devel mailing list