Patch "i2c: rk3x: Give the tuning value 0 during rk3x_i2c_v0_calc_timings" has been added to the 4.4-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
i2c: rk3x: Give the tuning value 0 during rk3x_i2c_v0_calc_timings
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
i2c-rk3x-give-the-tuning-value-0-during-rk3x_i2c_v0_calc_timings.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
399c168ab5ab5e12ed55b6c91d61c24eb84c9164Mon Sep 17 00:00:00 2001
From: David Wu <[email protected]>
Date: Sat, 22 Oct 2016 16:43:42 +0800
Subject: i2c: rk3x: Give the tuning value 0 during rk3x_i2c_v0_calc_timings
From: David Wu <[email protected]>
commit 399c168ab5ab5e12ed55b6c91d61c24eb84c9164 upstream.
We found a bug that i2c transfer sometimes failed on 3066a board with stabel-4.8, the con register would be updated by uninitialized tuning value, it made the i2c transfer failed.
So give the tuning value to be zero during rk3x_i2c_v0_calc_timings.
--- drivers/i2c/busses/i2c-rk3x.c | 2 ++ 1 file changed, 2 insertions(+)
drivers/i2c/busses/i2c-rk3x.c +2 -0
@@ -600,6 +600,8 @@ static int rk3x_i2c_calc_divs(unsigned l *div_low = *div_low -1 ; *div_high = *div_high -1 ; +/* Give the tuning value 0, that would not update con register */ + t_calc->tuning =0 ;/* Maximum divider supported by hw is 0xffff */ if (*div_low >0xffff ) { *div_low =0xffff ;
Patches currently in stable-queue which might be from [email protected] are
queue-4.4/i2c-rk3x-give-the-tuning-value-0-during-rk3x_i2c_v0_calc_timings.patch