mirror of
https://github.com/torvalds/linux.git
synced 2026-09-24 06:24:02 +02:00
watchdog: rzv2h: Avoid division by zero
clk_get_rate() could return 0. Avoid a division by zero panic.
Fixes: f6febd0a30 ("watchdog: Add Watchdog Timer driver for RZ/V2H(P)")
Cc: stable@vger.kernel.org
Signed-off-by: Tzung-Bi Shih <tzungbi@kernel.org>
Link: https://patch.msgid.link/20260913064851.8239-4-tzungbi@kernel.org
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
This commit is contained in:
parent
5af7d2cbd2
commit
6274281c41
|
|
@ -278,6 +278,7 @@ static int rzv2h_wdt_probe(struct platform_device *pdev)
|
|||
struct device *dev = &pdev->dev;
|
||||
struct rzv2h_wdt_priv *priv;
|
||||
struct clk *count_clk;
|
||||
unsigned long rate;
|
||||
int ret;
|
||||
|
||||
priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL);
|
||||
|
|
@ -314,8 +315,12 @@ static int rzv2h_wdt_probe(struct platform_device *pdev)
|
|||
return dev_err_probe(dev, -EINVAL, "Invalid count source\n");
|
||||
}
|
||||
|
||||
rate = clk_get_rate(count_clk);
|
||||
if (!rate)
|
||||
return dev_err_probe(dev, -EINVAL, "Invalid clock rate\n");
|
||||
|
||||
priv->wdev.max_hw_heartbeat_ms = (MILLI * priv->of_data->timeout_cycles *
|
||||
priv->of_data->cks_div) / clk_get_rate(count_clk);
|
||||
priv->of_data->cks_div) / rate;
|
||||
dev_dbg(dev, "max hw timeout of %dms\n", priv->wdev.max_hw_heartbeat_ms);
|
||||
|
||||
ret = devm_pm_runtime_enable(dev);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user