From: casionwoo <casion...@gmail.com>

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 <casion...@gmail.com>
---
 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 c43934f..9edd866 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 )
-- 
1.9.1


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

Reply via email to