Hi, On 9/21/2018 3:10 PM, Brendan Higgins wrote:
The function that computes clock parameters from divisors did not respect the maximum size of the bitfields that the parameters were written to. This fixes the bug. This bug can be reproduced with (and this fix verified with) the test at: https://kunit-review.googlesource.com/c/linux/+/1035/ Discovered-by-KUnit: https://kunit-review.googlesource.com/c/linux/+/1035/ Signed-off-by: Brendan Higgins <brendanhiggins@xxxxxxxxxx> Reviewed-by: Jae Hyun Yoo <jae.hyun.yoo@xxxxxxxxxxxxxxx> --- - v2 updates the title of the patch, renames a local variable, and prints an error when the clock divider is clamped. ---
[....]
+ if (base_clk_divisor > ASPEED_I2CD_TIME_BASE_DIVISOR_MASK) { + base_clk_divisor = ASPEED_I2CD_TIME_BASE_DIVISOR_MASK; + clk_low = clk_high_low_mask; + clk_high = clk_high_low_mask; + dev_err(dev, + "clamping clock divider: divider requested, %u, is greater than largest possible divider, %u.",
Please put a newline character at the end of the string. Thanks, Jae [....]