summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWolfram Sang <wsa+renesas@sang-engineering.com>2016-03-02 23:33:32 +0100
committerDavid S. Miller <davem@davemloft.net>2016-03-20 16:59:27 -0400
commit0d7ef45cdeebcc95d581703f45f6de7b2ee89b8d (patch)
treef79b4359d7bc5cccb5c468ad482d88eb64eeb4e0
parenteccf432f6542d9895d6c50edb5634c6147918ed2 (diff)
downloadlinux-0-day-0d7ef45cdeebcc95d581703f45f6de7b2ee89b8d.tar.gz
linux-0-day-0d7ef45cdeebcc95d581703f45f6de7b2ee89b8d.tar.xz
ide: palm_bk3710: test clock rate to avoid division by 0
The clk API may return 0 on clk_get_rate, so we should check the result before using it as a divisor. Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/ide/palm_bk3710.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/ide/palm_bk3710.c b/drivers/ide/palm_bk3710.c
index 8012e43bf8f61..46427ea01753b 100644
--- a/drivers/ide/palm_bk3710.c
+++ b/drivers/ide/palm_bk3710.c
@@ -325,6 +325,8 @@ static int __init palm_bk3710_probe(struct platform_device *pdev)
clk_enable(clk);
rate = clk_get_rate(clk);
+ if (!rate)
+ return -EINVAL;
/* NOTE: round *down* to meet minimum timings; we count in clocks */
ideclk_period = 1000000000UL / rate;