From: Alexandre Belloni <alexandre.bell...@bootlin.com>

The divider selection algorithm never allowed to get index 0. It was also
continuing to look for dividers, trying to find the slow clock selection.
This is not necessary anymore.

Signed-off-by: Alexandre Belloni <alexandre.bell...@bootlin.com>
Signed-off-by: Daniel Lezcano <daniel.lezc...@linaro.org>
Link: 
https://lore.kernel.org/r/20200710230813.1005150-9-alexandre.bell...@bootlin.com
---
 drivers/clocksource/timer-atmel-tcb.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/clocksource/timer-atmel-tcb.c 
b/drivers/clocksource/timer-atmel-tcb.c
index 7a6474acc774..7fea134650fc 100644
--- a/drivers/clocksource/timer-atmel-tcb.c
+++ b/drivers/clocksource/timer-atmel-tcb.c
@@ -432,10 +432,8 @@ static int __init tcb_clksrc_init(struct device_node *node)
 
                tmp = rate / divisor;
                pr_debug("TC: %u / %-3u [%d] --> %u\n", rate, divisor, i, tmp);
-               if (best_divisor_idx > 0) {
-                       if (tmp < 5 * 1000 * 1000)
-                               continue;
-               }
+               if ((best_divisor_idx >= 0) && (tmp < 5 * 1000 * 1000))
+                       break;
                divided_rate = tmp;
                best_divisor_idx = i;
        }
-- 
2.25.1

Reply via email to