summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Walmsley <pwalmsley@nvidia.com>2013-12-09 18:49:13 -0800
committerTakashi Iwai <tiwai@suse.de>2013-12-10 21:19:49 +0100
commit337bb336b95bd7884fa3a194eafbdf52a0216b2e (patch)
treea6ae43416ac2e9568c71d3a3feda87acd291904a
parentf62438ac53ae852eca8e98a5a96742aac41403c7 (diff)
downloadlinux-337bb336b95bd7884fa3a194eafbdf52a0216b2e.tar.gz
linux-337bb336b95bd7884fa3a194eafbdf52a0216b2e.tar.bz2
linux-337bb336b95bd7884fa3a194eafbdf52a0216b2e.zip
ALSA: atmel_abdac: clk_round_rate() can return a zero upon error
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> Cc: Nicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--sound/atmel/abdac.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/atmel/abdac.c b/sound/atmel/abdac.c
index 872d59e35ee2..b78a3bc6f35e 100644
--- a/sound/atmel/abdac.c
+++ b/sound/atmel/abdac.c
@@ -354,7 +354,7 @@ static int set_sample_rates(struct atmel_abdac *dac)
/* we start at 192 kHz and work our way down to 5112 Hz */
while (new_rate >= RATE_MIN && index < (MAX_NUM_RATES + 1)) {
new_rate = clk_round_rate(dac->sample_clk, 256 * new_rate);
- if (new_rate < 0)
+ if (new_rate <= 0)
break;
/* make sure we are below the ABDAC clock */
if (new_rate <= clk_get_rate(dac->pclk)) {