Denis Kirjanov 4e39a7
From 9bcab7b0b3cf02a5b887a39a262a8f62088f5717 Mon Sep 17 00:00:00 2001
Denis Kirjanov 4e39a7
From: Fugang Duan <fugang.duan@nxp.com>
Denis Kirjanov 4e39a7
Date: Wed, 16 Jun 2021 17:14:25 +0800
Denis Kirjanov 4e39a7
Subject: [PATCH 10/16] net: fec_ptp: add clock rate zero check
Denis Kirjanov 4e39a7
Git-commit: cb3cefe3f3f8af27c6076ef7d1f00350f502055d
Denis Kirjanov 4e39a7
Patch-mainline: v5.13-rc7
Denis Kirjanov 4e39a7
References: git-fixes
Denis Kirjanov 4e39a7
Denis Kirjanov 4e39a7
Add clock rate zero check to fix coverity issue of "divide by 0".
Denis Kirjanov 4e39a7
Denis Kirjanov 4e39a7
Fixes: commit 85bd1798b24a ("net: fec: fix spin_lock dead lock")
Denis Kirjanov 4e39a7
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Denis Kirjanov 4e39a7
Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
Denis Kirjanov 4e39a7
Signed-off-by: David S. Miller <davem@davemloft.net>
Denis Kirjanov 4e39a7
Signed-off-by: Denis Kirjanov <denis.kirjanov@suse.com>
Denis Kirjanov 4e39a7
---
Denis Kirjanov 4e39a7
 drivers/net/ethernet/freescale/fec_ptp.c | 4 ++++
Denis Kirjanov 4e39a7
 1 file changed, 4 insertions(+)
Denis Kirjanov 4e39a7
Denis Kirjanov 4e39a7
diff --git a/drivers/net/ethernet/freescale/fec_ptp.c b/drivers/net/ethernet/freescale/fec_ptp.c
Denis Kirjanov 4e39a7
index 6ebad3fac81d..07a471144bfe 100644
Denis Kirjanov 4e39a7
--- a/drivers/net/ethernet/freescale/fec_ptp.c
Denis Kirjanov 4e39a7
+++ b/drivers/net/ethernet/freescale/fec_ptp.c
Denis Kirjanov 4e39a7
@@ -579,6 +579,10 @@ void fec_ptp_init(struct platform_device *pdev)
Denis Kirjanov 4e39a7
 	fep->ptp_caps.enable = fec_ptp_enable;
Denis Kirjanov 4e39a7
 
Denis Kirjanov 4e39a7
 	fep->cycle_speed = clk_get_rate(fep->clk_ptp);
Denis Kirjanov 4e39a7
+	if (!fep->cycle_speed) {
Denis Kirjanov 4e39a7
+		fep->cycle_speed = NSEC_PER_SEC;
Denis Kirjanov 4e39a7
+		dev_err(&fep->pdev->dev, "clk_ptp clock rate is zero\n");
Denis Kirjanov 4e39a7
+	}
Denis Kirjanov 4e39a7
 	fep->ptp_inc = NSEC_PER_SEC / fep->cycle_speed;
Denis Kirjanov 4e39a7
 
Denis Kirjanov 4e39a7
 	spin_lock_init(&fep->tmreg_lock);
Denis Kirjanov 4e39a7
-- 
Denis Kirjanov 4e39a7
2.16.4
Denis Kirjanov 4e39a7