Skip to content

Commit

Permalink
ALSA: at73c213: clk_round_rate() can return a zero upon error
Browse files Browse the repository at this point in the history
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@nvidia.com>
Acked-by: Hans-Christian Egtvedt <egtvedt@samfundet.no>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
  • Loading branch information
Paul Walmsley authored and Takashi Iwai committed Dec 10, 2013
1 parent ed32636 commit f62438a
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion sound/spi/at73c213.c
Original file line number Diff line number Diff line change
Expand Up @@ -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. */
Expand Down

0 comments on commit f62438a

Please sign in to comment.