From: Wolfram Sang Date: Wed, 19 Jul 2017 08:27:52 +0000 (+0200) Subject: watchdog: renesas_wdt: check rate also for upper limit X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=b51247c8029660a9c49ad48bf38f364479c96215;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git watchdog: renesas_wdt: check rate also for upper limit When checking the clock rate, ensure also that counting all 16 bits takes at least one second to match the granularity of the framework. Signed-off-by: Wolfram Sang Reviewed-by: Guenter Roeck Signed-off-by: Guenter Roeck Signed-off-by: Wim Van Sebroeck --- diff --git a/drivers/watchdog/renesas_wdt.c b/drivers/watchdog/renesas_wdt.c index 22b0348826de..8437dd521532 100644 --- a/drivers/watchdog/renesas_wdt.c +++ b/drivers/watchdog/renesas_wdt.c @@ -134,14 +134,14 @@ static int rwdt_probe(struct platform_device *pdev) for (i = ARRAY_SIZE(clk_divs) - 1; i >= 0; i--) { clks_per_sec = DIV_ROUND_UP(rate, clk_divs[i]); - if (clks_per_sec) { + if (clks_per_sec && clks_per_sec < 65536) { priv->clks_per_sec = clks_per_sec; priv->cks = i; break; } } - if (!clks_per_sec) { + if (i < 0) { dev_err(&pdev->dev, "Can't find suitable clock divider\n"); return -ERANGE; }