ASoC: fsl_spdif: Fix integer overflow when calculating divisors
The calculation code does u64 = (u32 - u32) * 100000; The 64 bits are of no help here as the type is casted only after the multiplication, and therefore the result may overflow, possibly causing inoptimal or wrong clock setup in an unfortunate case (the maximum result value of the first substraction is currently 47999). Fix the code to cast before multiplication. Signed-off-by: NAnssi Hannula <anssi.hannula@iki.fi> Acked-by: NNicolin Chen <Guangyu.Chen@freescale.com> Signed-off-by: NMark Brown <broonie@linaro.org>
Showing
想要评论请 注册 或 登录