[linux-yocto] [4.12] [PATCH] clocksource/drivers/arm_arch_timer: Fix mem frame loop initialization

Bruce Ashfield bruce.ashfield at windriver.com
Wed May 30 09:21:43 PDT 2018


merged.

Bruce

On 05/30/2018 04:46 AM, quanyang.wang at windriver.com wrote:
> From: Matthias Kaehlcke <mka at chromium.org>
> 
> commit d197f7988721221fac64f899efd7657c15281810 upstream
> 
> The loop to find the best memory frame in arch_timer_mem_acpi_init()
> initializes the loop counter with itself ('i = i'), which is suspicious
> in the first place and pointed out by clang. The loop condition is
> 'i < timer_count' and a prior for loop exits when 'i' reaches
> 'timer_count', therefore the second loop is never executed.
> 
> Initialize the loop counter with 0 to iterate over all timers, which
> supposedly was the intention before the typo monster attacked.
> 
> Fixes: c2743a36765d3 ("clocksource: arm_arch_timer: add GTDT support for memory-mapped timer")
> Signed-off-by: Matthias Kaehlcke <mka at chromium.org>
> Reported-by: Ard Biesheuvel <ard.biesheuvel at linaro.org>
> Acked-by: Mark Rutland <mark.rutland at arm.com>
> Signed-off-by: Daniel Lezcano <daniel.lezcano at linaro.org>
> ---
>   drivers/clocksource/arm_arch_timer.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/clocksource/arm_arch_timer.c b/drivers/clocksource/arm_arch_timer.c
> index e5c4a03..477e431 100644
> --- a/drivers/clocksource/arm_arch_timer.c
> +++ b/drivers/clocksource/arm_arch_timer.c
> @@ -1430,7 +1430,7 @@ static int __init arch_timer_mem_acpi_init(int platform_timer_count)
>   	 * While unlikely, it's theoretically possible that none of the frames
>   	 * in a timer expose the combination of feature we want.
>   	 */
> -	for (i = i; i < timer_count; i++) {
> +	for (i = 0; i < timer_count; i++) {
>   		timer = &timers[i];
>   
>   		frame = arch_timer_mem_find_best_frame(timer);
> 



More information about the linux-yocto mailing list