From b2580877b599f94730d8d174e0d83cb89217e2d6 Mon Sep 17 00:00:00 2001
From: Brecht Neyrinck <bnrn@psicontrol.com>
Date: Wed, 6 May 2015 09:57:48 +0200
Subject: [PATCH] bugfix i.mx6 pwm: prevent overflow of period_c * duty_ns

Prevent overflow by casting duty_ns to ull first. This bug came up when trying to create a 200 Hz PWM

Signed-off-by: Brecht Neyrinck <bnrn@psicontrol.com>
Acked-by: Heiko Schocher<hs@denx.de>
---
 drivers/pwm/pwm-imx-util.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pwm/pwm-imx-util.c b/drivers/pwm/pwm-imx-util.c
index f1d0b35d27..79d86028de 100644
--- a/drivers/pwm/pwm-imx-util.c
+++ b/drivers/pwm/pwm-imx-util.c
@@ -56,7 +56,7 @@ int pwm_imx_get_parms(int period_ns, int duty_ns, unsigned long *period_c,
 	*prescale = *period_c / 0x10000 + 1;
 
 	*period_c /= *prescale;
-	c = (unsigned long long)(*period_c * duty_ns);
+	c = *period_c * (unsigned long long)duty_ns;
 	do_div(c, period_ns);
 	*duty_c = c;
 
-- 
2.39.5