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@gmail.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
/* 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 )