ARM: EXYNOS: fix exynos_boot_secondary() return value on timeout
authorBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Wed, 18 Mar 2015 13:09:53 +0000 (14:09 +0100)
committerKukjin Kim <kgene@kernel.org>
Fri, 5 Jun 2015 17:17:56 +0000 (02:17 +0900)
exynos_boot_secondary() can erroneously return 0 or -ENOSYS even
when waiting on pen_release being set to -1 timeouts.  Fix it by
adjusting ret variable value to -ETIMEDOUT when necessary.

Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Kukjin Kim <kgene@kernel.org>
arch/arm/mach-exynos/platsmp.c

index a825bca2a2b699490809676cef6f66d4eb86fd21..48f950d0b70e7f0ccec784d263c17e978f6e9260 100644 (file)
@@ -337,6 +337,9 @@ static int exynos_boot_secondary(unsigned int cpu, struct task_struct *idle)
                udelay(10);
        }
 
+       if (pen_release != -1)
+               ret = -ETIMEDOUT;
+
        /*
         * now the secondary core is starting up let it run its
         * calibrations, then wait for it to finish