Skip to content

Commit

Permalink
staging:iio:trigger:bfintmr: Avoid divide by zero
Browse files Browse the repository at this point in the history
If the timer frequency has not been configured yet get_gptimer_period() will
return 0. Handle this case instead of blindly dividing by the returned value.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
  • Loading branch information
Lars-Peter Clausen authored and Jonathan Cameron committed Sep 17, 2012
1 parent a0e545e commit 37812d2
Showing 1 changed file with 8 additions and 2 deletions.
10 changes: 8 additions & 2 deletions drivers/staging/iio/trigger/iio-trig-bfin-timer.c
Original file line number Diff line number Diff line change
Expand Up @@ -99,9 +99,15 @@ static ssize_t iio_bfin_tmr_frequency_show(struct device *dev,
{
struct iio_trigger *trig = to_iio_trigger(dev);
struct bfin_tmr_state *st = trig->private_data;
unsigned int period = get_gptimer_period(st->t->id);
unsigned long val;

return sprintf(buf, "%lu\n",
get_sclk() / get_gptimer_period(st->t->id));
if (period == 0)
val = 0;
else
val = get_sclk() / get_gptimer_period(st->t->id);

return sprintf(buf, "%lu\n", val);
}

static DEVICE_ATTR(frequency, S_IRUGO | S_IWUSR, iio_bfin_tmr_frequency_show,
Expand Down

0 comments on commit 37812d2

Please sign in to comment.