From 1a6b5f39bf791bcf95232cb9ca804a1caa4cb5b8 Mon Sep 17 00:00:00 2001 From: Peng Fan Date: Thu, 27 Jul 2017 09:15:31 +0800 Subject: MLK-16750-6 arm: imx7d: cpuidle: Fix missing decrement of master_lpi This fixes commit ("MLK15034: ARM: cpuidle imx7d: Check IPIs manually before LPI"). In this patch, also need to take care of psci part. Signed-off-by: Peng Fan Signed-off-by: Leonard Crestez Reviewed-by: Anson Huang --- arch/arm/mach-imx/cpuidle-imx7d.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'arch/arm/mach-imx') diff --git a/arch/arm/mach-imx/cpuidle-imx7d.c b/arch/arm/mach-imx/cpuidle-imx7d.c index 9b0fd7d301f3..6e12ebd93708 100644 --- a/arch/arm/mach-imx/cpuidle-imx7d.c +++ b/arch/arm/mach-imx/cpuidle-imx7d.c @@ -172,6 +172,7 @@ static int imx7d_enter_low_power_idle(struct cpuidle_device *dev, spin_lock(&psci_lock); if (atomic_inc_return(&master_lpi) == num_online_cpus()) { if (imx7d_gic_sgis_pending()) { + atomic_dec(&master_lpi); index = -1; goto psci_skip_lpi_flow; } @@ -209,6 +210,7 @@ psci_skip_lpi_flow: * any additional IPIs. */ if (imx7d_gic_sgis_pending()) { + atomic_dec(&master_lpi); index = -1; goto skip_lpi_flow; } -- cgit v1.2.3