[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen master] Fix to be error handled when 10ms delayed for cpu_on



commit b7dd797c7fe4cd849018f78f6c7b9eb3d33b89d8
Author:     casionwoo <casionwoo@xxxxxxxxx>
AuthorDate: Tue Oct 4 20:04:08 2016 +0900
Commit:     Stefano Stabellini <sstabellini@xxxxxxxxxx>
CommitDate: Tue Oct 4 13:34:02 2016 -0700

    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 <casionwoo@xxxxxxxxx>
    Reviewed-by: Stefano Stabellini <sstabellini@xxxxxxxxxx>
---
 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 )
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
https://lists.xenproject.org/xen-changelog

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.