diff options
Diffstat (limited to 'sound/atmel/abdac.c')
-rw-r--r-- | sound/atmel/abdac.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sound/atmel/abdac.c b/sound/atmel/abdac.c index 872d59e35ee2..3519518e25a0 100644 --- a/sound/atmel/abdac.c +++ b/sound/atmel/abdac.c @@ -354,10 +354,11 @@ 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)) { + if (index < MAX_NUM_RATES && + new_rate <= clk_get_rate(dac->pclk)) { dac->rates[index] = new_rate / 256; index++; } |