[PATCH] ARM: zynq: wfi exit on same cpu is valid

Sanjay Singh Rawat sanjay.rawat at linaro.org
Fri May 31 06:44:26 EDT 2013


The current code considers every wakeup as spurious, which is not
correct. Handle the same way as other arm platforms are doing.

Signed-off-by: Sanjay Singh Rawat <sanjay.rawat at linaro.org>
---
 arch/arm/mach-zynq/hotplug.c |    7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/arch/arm/mach-zynq/hotplug.c b/arch/arm/mach-zynq/hotplug.c
index c89672b..a1ab22c 100644
--- a/arch/arm/mach-zynq/hotplug.c
+++ b/arch/arm/mach-zynq/hotplug.c
@@ -67,6 +67,13 @@ static inline void zynq_platform_do_lowpower(unsigned int cpu, int *spurious)
 		dsb();
 		wfi();
 
+		if (pen_release == cpu_logical_map(cpu)) {
+			/*
+			 * OK, proper wakeup, we're done
+			 */
+			break;
+		}
+
 		/*
 		 * Getting here, means that we have come out of WFI without
 		 * having been woken up - this shouldn't happen
-- 
1.7.9.5




More information about the linux-arm-kernel mailing list