v4.9-rc1: smiapp divides by zero
From: Pavel Machek
Date: Sun Oct 23 2016 - 06:22:38 EST
Hi!
I tried to update camera code on n900 to v4.9-rc1, and I'm getting
some divide by zero, that eventually cascades into fcam-dev not
working.
mul is zero in my testing, resulting in divide by zero.
(Note that this is going from my patched camera-v4.8 tree to
camera-v4.9 tree.)
Best regards,
Pavel
diff --git a/drivers/media/i2c/smiapp-pll.c b/drivers/media/i2c/smiapp-pll.c
index 5ad1edb..e0a6edd 100644
--- a/drivers/media/i2c/smiapp-pll.c
+++ b/drivers/media/i2c/smiapp-pll.c
@@ -16,6 +16,8 @@
* General Public License for more details.
*/
+#define DEBUG
+
#include <linux/device.h>
#include <linux/gcd.h>
#include <linux/lcm.h>
@@ -457,6 +459,10 @@ int smiapp_pll_calculate(struct device *dev,
i = gcd(pll->pll_op_clk_freq_hz, pll->ext_clk_freq_hz);
mul = div_u64(pll->pll_op_clk_freq_hz, i);
div = pll->ext_clk_freq_hz / i;
+ if (!mul) {
+ dev_err(dev, "forcing mul to 1\n");
+ mul = 1;
+ }
dev_dbg(dev, "mul %u / div %u\n", mul, div);
min_pre_pll_clk_div =
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
Attachment:
signature.asc
Description: Digital signature