From b7dd797c7fe4cd849018f78f6c7b9eb3d33b89d8 Mon Sep 17 00:00:00 2001 From: casionwoo Date: Tue, 4 Oct 2016 20:04:08 +0900 Subject: [PATCH] Fix to be error handled when 10ms delayed for cpu_on Comment of origin code said "wait max 10 ms until cpu is on" Origin code expects to print "CPU%d power enable failed", if cpu do not on until 10ms But actual code do not reach to print even it wait 10 ms (actually it waits 11ms not 10ms) Because the comparing is like bellow "if ( timeout-- == 0 )" So I modified the code to wait 10ms and print the error statement Let me simulate about origin code and modified code. Origin code) timeout delayed time timeout (before while) (mdelay(1)) (timeout--) 10 1 9 9 2 8 8 3 7 7 4 6 6 5 5 5 6 4 4 7 3 3 8 2 2 9 1 1 10 0 0 11 -1 Modified code) timeout delayed time timeout (before while) (mdelay(1)) (--timeout) 10 1 9 9 2 8 8 3 7 7 4 6 6 5 5 5 6 4 4 7 3 3 8 2 2 9 1 1 10 0 Signed-off-by: JEUNGWOO, YOO Reviewed-by: Stefano Stabellini --- xen/arch/arm/platforms/exynos5.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/xen/arch/arm/platforms/exynos5.c b/xen/arch/arm/platforms/exynos5.c index c43934f742..9edd8665ca 100644 --- a/xen/arch/arm/platforms/exynos5.c +++ b/xen/arch/arm/platforms/exynos5.c @@ -175,10 +175,10 @@ static int exynos5_cpu_power_up(void __iomem *power, int cpu) /* wait max 10 ms until cpu is on */ while ( exynos_cpu_power_state(power, cpu) != S5P_CORE_LOCAL_PWR_EN ) { - if ( timeout-- == 0 ) - break; - mdelay(1); + + if ( --timeout == 0 ) + break; } if ( timeout == 0 ) -- 2.30.2