
From: Nicolas Le Bayon nicolas.le.bayon@st.com
This avoids useless loops inside the I2C timing algorithm. Actually, we support only one possible solution per prescaler value. So after finding a solution with a prescaler, the algorithm can switch directly to the next prescaler value.
Signed-off-by: Nicolas Le Bayon nicolas.le.bayon@st.com Reviewed-by: Patrick DELAUNAY patrick.delaunay@st.com Signed-off-by: Patrick Delaunay patrick.delaunay@st.com ---
drivers/i2c/stm32f7_i2c.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/drivers/i2c/stm32f7_i2c.c b/drivers/i2c/stm32f7_i2c.c index e7e0268..50c4fd0 100644 --- a/drivers/i2c/stm32f7_i2c.c +++ b/drivers/i2c/stm32f7_i2c.c @@ -540,8 +540,12 @@ static int stm32_i2c_compute_solutions(struct stm32_i2c_setup *setup, p_prev = p;
list_add_tail(&v->node, solutions); + break; } } + + if (p_prev == p) + break; } }