[alsa-devel] [PATCH] ALSA: at73c213: clk_round_rate() can return a zero upon error

Hans-Christian Egtvedt egtvedt at samfundet.no
Tue Dec 10 08:38:37 CET 2013


Around Mon 09 Dec 2013 18:40:48 -0800 or thereabout, Paul Walmsley wrote:
> 
> Treat both negative and zero return values from clk_round_rate()
> as errors.  This is needed since subsequent patches will convert
> clk_round_rate()'s return value to be an unsigned type, rather
> than a signed type, since some clock sources can generate rates
> higher than (2^31)-1 Hz.
> 
> Eventually, when calling clk_round_rate(), only a return value of
> zero will be considered a error.  All other values will be
> considered valid rates.  The comparison against values less than
> 0 is kept to preserve the correct behavior in the meantime.
> 
> Signed-off-by: Paul Walmsley <pwalmsley at nvidia.com>
> Cc: Hans-Christian Egtvedt <egtvedt at samfundet.no>
> Cc: Takashi Iwai <tiwai at suse.de>
> Cc: Jaroslav Kysela <perex at perex.cz>

Thanks for fixing.

Acked-by: Hans-Christian Egtvedt <egtvedt at samfundet.no>

> ---
> Applies on v3.13-rc3.  See also:
> 
> http://marc.info/?l=linux-arm-kernel&m=138542591313620&w=2
> 
>  sound/spi/at73c213.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/sound/spi/at73c213.c b/sound/spi/at73c213.c
> index 8e3d9a6c7a3b..25c38afaee49 100644
> --- a/sound/spi/at73c213.c
> +++ b/sound/spi/at73c213.c
> @@ -174,7 +174,7 @@ static int snd_at73c213_set_bitrate(struct snd_at73c213 *chip)
>  		dac_rate_new = 8 * (ssc_rate / ssc_div);
> 
>  		status = clk_round_rate(chip->board->dac_clk, dac_rate_new);
> -		if (status < 0)
> +		if (status <= 0)
>  			return status;
> 
>  		/* Ignore difference smaller than 256 Hz. */
> 

-- 
mvh
Hans-Christian Egtvedt


More information about the Alsa-devel mailing list