]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - drivers/pwm/pwm-stm32-lp.c
Merge tag 'acpi-5.4-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
[linux.git] / drivers / pwm / pwm-stm32-lp.c
index 21cb260dc2c0dddfd3e2e764a6789c1db5dee791..67fca62524dc243fd16ba736b62c34bd0559d7ea 100644 (file)
@@ -59,6 +59,12 @@ static int stm32_pwm_lp_apply(struct pwm_chip *chip, struct pwm_device *pwm,
        /* Calculate the period and prescaler value */
        div = (unsigned long long)clk_get_rate(priv->clk) * state->period;
        do_div(div, NSEC_PER_SEC);
+       if (!div) {
+               /* Clock is too slow to achieve requested period. */
+               dev_dbg(priv->chip.dev, "Can't reach %u ns\n",  state->period);
+               return -EINVAL;
+       }
+
        prd = div;
        while (div > STM32_LPTIM_MAX_ARR) {
                presc++;