At Mon, 9 Dec 2013 18:40:48 -0800, 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@nvidia.com Cc: Hans-Christian Egtvedt egtvedt@samfundet.no Cc: Takashi Iwai tiwai@suse.de Cc: Jaroslav Kysela perex@perex.cz
Applies on v3.13-rc3. See also:
Is the behavior "returning zero upon error" already in 3.13? That is, should this (and another) patch be taken as a 3.13-fix patch, or it's for 3.14?
thanks,
Takashi
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. */